| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 | 
							- <?php 
 
- User::check_access('export','configure');
 
- require_once(__DIR__.SLASH.'ExportModel.class.php');
 
- $exportmodel = ExportModel::provide();
 
- ?>
 
- <br>
 
- <div class="export">
 
- 	<div id="exportmodel-form" class="row exportmodel-form" data-action="export_exportmodel_save" data-id="<?php echo $exportmodel->id; ?>">
 
- 		<div class="col-md-12">
 
- 			<h3 class="d-inline-block">Fiche export modèle</h3>
 
- 			<div onclick="export_exportmodel_save();" class="btn btn-success float-right"><i class="fas fa-check"></i> Enregistrer</div>
 
- 			<div onclick="window.history.back();" class="btn btn-info float-right mr-2"><i class="fas fa-arrow-left"></i> Retour</div>
 
- 			<hr>
 
- 		</div>
 
- 		<div class="col-md-8">
 
- 			<div class="row">
 
- 				<div class="<?php echo $myUser->superadmin ? 'col-md-8' : 'col-md-12'; ?>">
 
- 					<label for="label">Libellé : </label>
 
- 					<input required id="label" name="label" class="form-control" placeholder="Nom export modèle" value="<?php echo html_decode_utf8($exportmodel->label); ?>" type="text">
 
- 				</div>
 
- 				<?php if($myUser->superadmin): ?>
 
- 				<div class="col-md-4">
 
- 					<label for="label">Slug : </label>
 
- 					<input required id="slug" name="slug" class="form-control" placeholder="Slug export modèle" value="<?php echo html_decode_utf8($exportmodel->slug); ?>" type="text">
 
- 				</div>
 
- 				<?php endif; ?>
 
- 				<div class="col-md-12"><br>
 
- 					<label for="description">Description : </label>
 
- 					<input id="description" name="description" class="form-control" placeholder="Description export modèle" value="<?php echo html_decode_utf8($exportmodel->description); ?>" type="text">
 
- 				</div>
 
- 			</div><br>
 
- 			<div class="row">
 
- 				<div class="col-md-4">
 
- 					<label for="plugin">Plugin : </label>
 
- 					<select required id="plugin" name="plugin" class="form-control" onchange="export_exportmodel_list_dataset();">
 
- 						<option value=""> - </option>
 
- 						<?php foreach (Plugin::getAll(true) as $plugin) {
 
- 							$selected = $plugin->folder == $exportmodel->plugin ? 'selected' : '';
 
- 							echo '<option '.$selected.' value="'.$plugin->folder.'">'.$plugin->name.'</option>';
 
- 						} ?>
 
- 					</select>
 
- 				</div>
 
- 				<div class="col-md-4">
 
- 					<label for="dataset">Jeu de données : </label>
 
- 					<select required name="dataset" id="dataset" class="form-control" onchange="export_exportmodel_get_dataset(this);">
 
- 						<option value="" class="template"> - </option>
 
- 						<option value="{{dataset}}" class="hidden template">{{label}}</option>
 
- 						<?php 
 
- 							if(isset($exportmodel->plugin) && !empty($exportmodel->plugin)){
 
- 								$datasets = array();
 
- 								Plugin::callHook('export_model_data', array(&$datasets, array('plugin'=>$exportmodel->plugin)));
 
- 								foreach($datasets as $slug => $dataset) {
 
- 									$selected = $slug == $exportmodel->dataset ? 'selected' : '';
 
- 									echo '<option '.$selected.' value="'.$dataset['dataset'].'">'.$dataset['label'].'</option>';
 
- 								}
 
- 							}
 
- 						?>
 
- 					</select>
 
- 				</div>
 
- 				<div class="col-md-4 position-relative">
 
- 					<div class="export-privacy-button text-center">
 
- 						<label for="privacy" class="pointer"><i class="fas fa-user-secret"></i> Export modèle privé :</label>
 
- 						<input type="checkbox" data-type="checkbox" id="privacy" name="privacy" <?php echo $exportmodel->privacy==ExportModel::PRIVACY_PRIVATE?'checked':''; ?>>
 
- 					</div>
 
- 				</div>
 
- 			</div>
 
- 			<br/>
 
- 		</div>
 
- 		<div class="col-md-4">
 
- 			<div>
 
- 				<label for="document">Fichier modèle :</label>
 
- 				<div data-type="dropzone" data-allowed="<?php echo implode(',',array_keys(ExportModel::templates())); ?>" data-label="Faites glisser le modèle d'import ici..." data-delete="export_exportmodel_delete_document" data-save="export_exportmodel_add_document" class="form-control" id="document" name="document"><?php echo json_encode($exportmodel->documents()); ?></div>
 
- 			</div>
 
- 			<div class="options-box">
 
- 				<?php if(in_array($exportmodel->export_format, array('html','pdf'))): ?>
 
- 				<div class="">
 
- 					<label for="pdf" class="pointer"> Export au format :</label>
 
- 					<select name="export_format" id="export_format" class="form-control">
 
- 						<?php foreach(array('html', 'pdf') as $format): ?>
 
- 							<option value="<?php echo $format; ?>" <?php echo $exportmodel->export_format==$format?'selected':''; ?>><?php echo mb_strtoupper($format); ?></option>
 
- 						<?php endforeach; ?>
 
- 					</select>
 
- 				</div>
 
- 				<?php endif; ?>
 
- 			</div>
 
- 		</div>
 
- 		<hr class="col-md-12">
 
- 		<div class="clear"></div>
 
- 		<div id="dataset-container" class="col-md-12 dataset-container hidden">
 
- 			<div class="row">
 
- 				<div class="col-md-9 dataset-showcase">
 
- 					<span class="mb-2 block">Liste des macros disponibles pour ce jeu de données :</span>
 
- 					<ul>
 
- 						<li onclick="select_text($(this).find('>code'), event);copy_to_clipboard($(this).find('>code'));" class="hidden template li-{{type}}"><span class="badge macro-{{type}}">{{badge}}</span><code>{{macro}}</code> : {{description}}</li>
 
- 					</ul>
 
- 				</div>
 
- 				<div class="col-md-3 dataset-example-files">
 
- 					<span class="mb-2 block"><i class="fas fa-cloud-download-alt"></i> Fichiers d'exemple à télécharger :</span>
 
- 					<ul>
 
- 						<li class="template" id="empty-files">Aucun fichier</li>
 
- 						<li class="hidden template" title="Cliquer pour copier dans le presse-papier"><a href="{{path}}" class="font-weight-bold"><i class="fas {{icon}}"></i> {{label}}</a></li>
 
- 					</ul>
 
- 				</div>
 
- 			</div>
 
- 			<hr class="col-md-12">
 
- 		</div>
 
- 		<div class="col-md-12">
 
- 			<h4>Documentation</h4>
 
- 			<section class="export-doc">
 
- 				<div>
 
- 					<span class="mb-2 block">Vous pouvez créer de nouveaux modèles d'exports avec l'une des extensions suivantes :</span>
 
- 					<ul>
 
- 						<?php foreach(ExportModel::templates() as $exportModel): ?>
 
- 						<li><code>.<?php echo $exportModel['extension']; ?> </code> <small>(<?php echo $exportModel['description']; ?>)</small></li>
 
- 						<?php endforeach; ?>
 
- 					</ul>
 
- 					Des fichiers d'exemple à télécharger vous sont proposés dans chacun de ces formats.
 
- 				</div>
 
- 				<div>
 
- 					À l'intérieur de ces documents vous pouvez utiliser des <strong>macros</strong> qui représenteront les <i>informations à exporter</i>.<br>
 
- 					Par exemple, <code>{{utilisateur.identifiant}}</code> sera remplacé lors de l'export par votre identifiant de connexion.
 
- 				</div>
 
- 				<div>
 
- 					<span class="mb-2 block">Les macros peuvent retourner trois types d'informations :</span>
 
- 					<ul>
 
- 						<li>
 
- 							Le type <span class="badge macro-value">Valeur</span>:<br>
 
- 							<i>ex :</i> <code>{{utilisateur.prénom}}</code> retourne <strong>John</strong>
 
- 						</li>
 
- 						<li>Le type <span class="badge macro-list">Liste</span>:<br>
 
- 							<i>ex :</i> <code><strong>{{#liste.utilisateurs}}</strong>{{utilisateur.prénom}} {{utilisateur.nom}},<strong>{{/liste.utilisateurs}}</strong></code>
 
- 							retourne la liste des prénoms et noms des utilisateurs du logiciel séparés par virgules.
 
- 						</li>
 
- 						<li>
 
- 							Le type <span class="badge macro-photo">Photo</span>:<br>
 
- 							<i>ex :</i> <code>{{utilisateur.photo}}</code> retourne la photo <img src="img/default-avatar.png" alt="Image de profil par défaut" class="doc-picture avatar-rounded">
 
- 						</li>
 
- 					</ul>
 
- 				</div>
 
- 				<div>
 
- 					<span class="mb-2 block">
 
- 						Il y a également la possibilité de faire des conditions sur certains champs.<br>
 
- 						Ces conditions se présentent sous la forme d'un <b>Si</b> <code><condition></code> <b>Alors</b> <i><résultat></i> <b>Sinon</b> <i><autre-résultat></i><br><br>
 
- 						Pour utiliser les conditions vous devez :
 
- 					</span>
 
- 					<ol>
 
- 						<li>
 
- 							Ouvrir la macro de condition <b>Si</b> : <code>{{#condition}}</code>
 
- 						</li>
 
- 						<li>
 
- 							Placer le <i>contenu</i> <code></code>
 
- 						</li>
 
- 						<li>
 
- 							Fermer la macro de condition : <code>{{/condition}}</code>
 
- 						</li>
 
- 						<li>
 
- 							Ouvrir la macro de condition <b>Sinon</b> : <code>{{^condition}}</code>
 
- 						</li>
 
- 						<li>
 
- 							Placer le <i>contenu</i> <code></code>
 
- 						</li>
 
- 						<li>
 
- 							Fermer la macro de condition : <code>{{/condition}}</code>
 
- 						</li>
 
- 					</ol>
 
- 					Par ailleurs, il est aussi possible de n'utiliser que la condition <b>Si</b> comme ceci : <code>{{#condition}}</code> <i>contenu</i> <code>{{/condition}}</code>
 
- 				</div>
 
- 			</section>
 
- 		</div>
 
- 	</div>
 
- </div><br>
 
 
  |