diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/controller/HeadFootController.php | 2 | ||||
| -rw-r--r-- | src/model/entities/NodeDataAsset.php | 10 | ||||
| -rw-r--r-- | src/view/HeaderBuilder.php | 27 |
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 | ||
| 6 | declare(strict_types=1); | 7 | declare(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! | ||
| 15 | class NodeDataAsset | 15 | class 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>'; |
