aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/controller/HeadFootController.php2
-rw-r--r--src/model/entities/NodeDataAsset.php10
-rw-r--r--src/view/HeaderBuilder.php27
3 files changed, 7 insertions, 32 deletions
diff --git a/src/controller/HeadFootController.php b/src/controller/HeadFootController.php
index cf3aed0..a739df8 100644
--- a/src/controller/HeadFootController.php
+++ b/src/controller/HeadFootController.php
@@ -38,7 +38,7 @@ class HeadFootController
38 } 38 }
39 else{ 39 else{
40 if(!is_dir(Asset::USER_PATH)){ 40 if(!is_dir(Asset::USER_PATH)){
41 mkdir(Asset::USER_PATH, 0700, true); 41 mkdir(Asset::USER_PATH, 0755, true);
42 } 42 }
43 43
44 /* -- téléchargement -- */ 44 /* -- téléchargement -- */
diff --git a/src/model/entities/NodeDataAsset.php b/src/model/entities/NodeDataAsset.php
index 7f7008e..7f92fd1 100644
--- a/src/model/entities/NodeDataAsset.php
+++ b/src/model/entities/NodeDataAsset.php
@@ -1,7 +1,8 @@
1<?php 1<?php
2// src/model/entities/NodeDataAsset.php 2// src/model/entities/NodeDataAsset.php
3// 3//
4// entité intermédiaire avec 3 colonnes 4// entité intermédiaire 3 colonnes conçue selon le principe "slot <=> ressource unique" (paires node_data/role uniques)
5// doctrine gère mal les clés primaires triples, j'ai donc choisi une clé primaire double node_data_id/role
5 6
6declare(strict_types=1); 7declare(strict_types=1);
7 8
@@ -11,7 +12,6 @@ use Doctrine\ORM\Mapping as ORM;
11 12
12#[ORM\Entity] 13#[ORM\Entity]
13#[ORM\Table(name: TABLE_PREFIX . 'nodedata_asset')] 14#[ORM\Table(name: TABLE_PREFIX . 'nodedata_asset')]
14#[ORM\UniqueConstraint(name: 'unique_role_per_node', columns: ['node_data_id', 'role'])] // un rôle UNIQUE pour chaque node_data_id, excellent!
15class NodeDataAsset 15class NodeDataAsset
16{ 16{
17 // clé primaire double 17 // clé primaire double
@@ -22,13 +22,13 @@ class NodeDataAsset
22 private NodeData $node_data; 22 private NodeData $node_data;
23 23
24 #[ORM\Id] 24 #[ORM\Id]
25 #[ORM\Column(type: 'string', length: 50)]
26 private string $role;
27
25 #[ORM\ManyToOne(targetEntity: Asset::class)] 28 #[ORM\ManyToOne(targetEntity: Asset::class)]
26 #[ORM\JoinColumn(name: 'asset_id', referencedColumnName: 'id_asset', onDelete: 'CASCADE')] 29 #[ORM\JoinColumn(name: 'asset_id', referencedColumnName: 'id_asset', onDelete: 'CASCADE')]
27 private Asset $asset; 30 private Asset $asset;
28 31
29 #[ORM\Column(type: 'string', length: 50)]
30 private string $role;
31
32 public function __construct(NodeData $node_data, Asset $asset, string $role){ 32 public function __construct(NodeData $node_data, Asset $asset, string $role){
33 $this->node_data = $node_data; 33 $this->node_data = $node_data;
34 $this->asset = $asset; 34 $this->asset = $asset;
diff --git a/src/view/HeaderBuilder.php b/src/view/HeaderBuilder.php
index 44e244d..1c82368 100644
--- a/src/view/HeaderBuilder.php
+++ b/src/view/HeaderBuilder.php
@@ -45,34 +45,9 @@ class HeaderBuilder extends AbstractBuilder
45 // réseaux sociaux + logo dans l'entête 45 // réseaux sociaux + logo dans l'entête
46 $header_logo = Asset::USER_PATH . $node_data->getAssetByRole('header_logo')?->getFileName() ?? ''; 46 $header_logo = Asset::USER_PATH . $node_data->getAssetByRole('header_logo')?->getFileName() ?? '';
47 $header_background = Asset::USER_PATH . $node_data->getAssetByRole('header_background')?->getFileName() ?? ''; 47 $header_background = Asset::USER_PATH . $node_data->getAssetByRole('header_background')?->getFileName() ?? '';
48
48 $keys = array_keys($social); 49 $keys = array_keys($social);
49 $social_networks = ''; 50 $social_networks = '';
50
51 // nécéssite des entrées dans la table node_asset
52 /*foreach($node->getNodeData()->getAssets() as $asset)
53 {
54 for($i = 0; $i < count($keys); $i++)
55 {
56 // réseaux sociaux
57 if(str_contains($asset->getFileName(), $keys[$i])){
58 $social_networks .= '<a href="' . $social[$keys[$i]] . '" target="_blank" rel="noopener noreferrer">
59 <img src="' . rtrim($asset->getFilePathMini(), '/') . '" alt="' . $keys[$i] . '_alt"></a>';
60 break;
61 }
62 // logo en-tête
63 //if(str_contains($asset->getFileName(), 'header_logo')){
64 //$header_logo = rtrim($asset->getFilePathMini(), '/');
65 //break;
66 //}
67 // image de fond
68 //if(str_contains($asset->getFileName(), 'header_background')){
69 //$header_background = rtrim($asset->getFilePath(), '/');
70 //break;
71 //}
72 }
73 }*/
74
75 // réseaux sociaux, chemin du ficher dans node_data à déplacer dans asset
76 foreach($keys as $one_key){ 51 foreach($keys as $one_key){
77 $social_networks .= '<a href="' . $social[$one_key] . '" target="_blank" rel="noopener noreferrer"> 52 $social_networks .= '<a href="' . $social[$one_key] . '" target="_blank" rel="noopener noreferrer">
78 <img src="assets/' . $one_key . '.svg" alt="' . $one_key . '_alt"></a>'; 53 <img src="assets/' . $one_key . '.svg" alt="' . $one_key . '_alt"></a>';