# Eteko

Outil nocode/lowcode pour créer des applications web.

## Fonctions principales

### Récupérer une entité

Pour récupérer une entité, il faut utiliser la fonction `fwc7_data_objet_att()`.

```php
function fwc7_data_objet_att($id_base,$id_type,$id_obje,$array_where_clause="",$force_reload=false,$actif="")

```
avec les paramètres suivants :
- `$id_base` : 
- `$id_type` : integer -> identifiant de l'entité, indiqué dans la partie modèle de données d'Eteko.
- `$id_obje` : integer -> id de l'objet

## Affichage

### Affichage d'un label + champ

```php
fwk7_grid_item_start(1);
fwk7_att_titre(' Client :');
fwk7_grid_item_close();

fwk7_grid_item_start(1);
fwk7_att_text('','','', $nameToDisplay,0);
fwk7_grid_item_close();
```

## Use cases

### Récupérer une donnée provenant d'une "liste valeur"

Pour récupérer la donnée "label affiché", il faut utiliser la fonction `fwc7_data_liste_valeur()`.

```php
return fwc7_data_liste_valeur('', '16', '', $interventionReport['att9'])['label'];
// returns the label of key_value saved on server
```

### Afficher les sauts de ligne

Pour afficher les sauts de ligne, il est possible d'utiliser la class Tailwind `whitespace-pre-wrap` ou la propiété CSS `white-space: pre-wrap;`.

Et appliquer dans Eteko :

![whitespace](./documentation/img/whitespace.png)

### Utiliser les mots-clés dans les champs

Dans eteko pour sauvegarder des données, il est possible d'utiliser des clés "module code".

```php
'[is_signataire_client_po]' => $myNewValue,
```

Ces clés sont définis dans la GUI

![whitespace](./documentation/img/moduleCode.png)

### Attribut lié

Exemple : on a un champ liste `chantier` et on souhaite afficher un autre champ avec le lieu du chantier.

![img.png](documentation/img/attributLie.png)

### Envoi de mail

Pour envoyer un mail, il faut utiliser la fonction `fwc7_send_mail()`.

```php
$id_email = fwc7_mail_presend('', $from_email, $from_name, $destinataires, $cc, '', $pj, $objet, $body, '', true,"","","",'','');
```

Il faut ensuite déclencher le cron depuis l'environnement serge pour envoyer le mail.

![cronEmail.png](documentation/img/cronEmail.png)