| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210 | 
							- <?php
 
- global $myFirm;
 
- User::check_access('example','read');
 
- require_once(__DIR__.SLASH.'Contact.class.php');
 
- $contact = Contact::provide();
 
- $data = array(
 
- 	'subject' => (!empty($contact->label) ? 'Envoi de la fiche contact de '.$contact->label : 'Envoi fiche contact'),
 
- 	'message' => "Contenu du message envoyé",
 
- 	'recipients' => array('to'=>array('claude@claude.fr', 'testouille@test.fr'), 'cc'=>array('carboncopy@test.net'), 'cci'=>array('another@email.fr')),
 
- 	'attachments' => $contact->documents()
 
- );
 
- ?>
 
- <div class="container-small">
 
- 	<br>
 
- 	<label for="label">Composant Card</label>
 
- 	<small class="text-muted"> (Span data-type="card")</small>
 
- 	<h3>Fiche du contact <span data-type="card" data-show-delay="200" data-action="example_contact_card" data-parameters='<?php echo json_encode(array('id'=>$contact->id)); ?>'><?php echo html_decode_utf8($contact->label); ?></span></h3>
 
- 	<br>
 
- 	<form class="row" method="POST" enctype="multipart/form-data" id="contactForm" data-action="contact_save" data-id="<?php echo $contact->id; ?>">
 
- 		<div class="col-xl-12">
 
- 			<label for="label">Libellé</label>
 
- 			<small class="text-muted"> (Simple input texte)</small>
 
- 			<input type="text" value="<?php echo html_decode_utf8($contact->label); ?>" placeholder="Raison sociale ou nom" class="form-control" id="label" name="label"/>
 
- 			<br>
 
- 			<label for="phone">Téléphone</label>
 
- 			<small class="text-muted"> (Simple input texte)</small>
 
- 			<input type="text" value="<?php echo $contact->phone; ?>" placeholder="N° Téléphone" class="form-control" id="phone" name="phone"/>
 
- 			<br>
 
- 			<label for="birth">Date de naissance</label>
 
- 			<small class="text-muted"> (Input data-type="date")</small>
 
- 			<input type="text" data-type="date" value="<?php echo $contact->birth!=0?date('d/m/Y',$contact->birth):''; ?>" placeholder="La date de naissance" class="form-control" id="birth" name="birth"/>
 
- 			<br>
 
- 			<label for="hour">Heure de naissance</label>
 
- 			<small class="text-muted"> (Input data-type="hour")</small>
 
- 			<input type="text" data-type="hour" value="<?php echo $contact->hour!=0?date('H:i',$contact->hour):''; ?>" data-step="20" placeholder="L'heure de naissance" class="form-control" id="hour" name="hour"/>
 
- 			<br>
 
- 			<label for="manager">Manager</label>
 
- 			<small class="text-muted" data-placement="right" data-tooltip title="* data-multiple			:	Autorise l'utilisateur a sélectionner  des entité multiples 
 
- 			* data-types (default: user) : définis les entité sélectionnables (ex: user,rank)	"> (Input data-type="user")</small>
 
- 			
 
- 			<div class="input-group mb-3">
 
- 				<input type="text" data-type="user" data-types="user" value="<?php echo $contact->manager; ?>" placeholder="Manager du contact" class="form-control" id="manager" name="manager"/>
 
- 				<input type="text" data-type="color" value="#55e6c1" onchange="$('#mainMenu').css('backgroundColor',$(this).val())" class="form-control" id="color" name="color"/>
 
- 			</div>
 
- 			<label for="color">Couleur</label>
 
- 			<small class="text-muted"> (Input data-type="color")</small>
 
- 			<input type="text" data-type="color" value="pink" class="form-control" id="color" name="color"  onchange="$('#mainMenu').css('backgroundColor',$(this).val())"/>
 
- 			<br>
 
- 			<label for="author">Auteur</label>
 
- 			<small class="text-muted" data-placement="right" data-tooltip title="* data-multiple			:	Autorise l'utilisateur a sélectionner  des entité multiples
 
- 			* data-types (default: user) : définis les entité sélectionnables (ex: user,rank)	"> (Input data-type="user")</small>
 
- 			<input type="text" data-type="user" data-multiple data-types="user,rank" value="<?php echo $contact->author; ?>" placeholder="Auteur du contact" class="form-control" id="author" name="author"/>
 
- 			<br>
 
- 			<label for="picture">Image</label>
 
- 			<small class="text-muted"> (Input data-type="image")</small>
 
- 			<input type="file" data-type="image" value="<?php echo $contact->picture(); ?>" class="form-control-file" id="picture" name="picture" data-delete="contact_avatar_delete(this)" data-default-src="img/default-avatar.png">
 
- 			<br>
 
- 			<label for="icon">Icône</label>
 
- 			<small class="text-muted"> (Input data-type="icon")</small>
 
- 			<span class="icon-chooser contact-icon" id="basic-addon-icon-contact">
 
-             <input id="icon" data-type="icon" name="icon" class="form-control" placeholder="Icône du contact" value="<?php echo !empty($contact->icon) ? $contact->icon : 'fab fa-btc'; ?>" type="text"></span>
 
- 			<br>
 
- 			<label for="vehicle">Véhicule</label>
 
- 			<small class="text-muted" data-placement="right" data-tooltip title="* data-depth 			:	nb de profondeur de liste
 
- * data-slug 			:	le slug de la liste mère à afficher
 
- * data-value 			:	la valeur de l'entité  à récup en base
 
- * data-disable-label 	:	cache le label de sous-liste si mentionné">(Select data-type="dictionnary")</small>
 
- 			<select data-type="dictionnary" data-slug="vehicles" data-depth="3" data-value="<?php echo $contact->vehicle; ?>" class="form-control select-control" name="vehicle" id="vehicle"></select>
 
- 			<label for="vehicle2">Véhicule (tags)</label>
 
- 			<small class="text-muted" data-placement="right" data-tooltip title="* data-multiple			:	Autorise l'utilisateur a sélectionner  des tag multiples
 
- * data-slug 			:	le slug de la liste mère à afficher">(Select data-type="tag-list")</small>
 
- 			<input type="text" data-type="tag-list" data-slug="vehicles" class="form-control" />
 
- 			<label for="vehicle2">Catégories</label>
 
- 			<small class="text-muted" data-placement="right" data-tooltip title="* data-tags	(json)	:tags disponibles (eg. 
 
- 			{
 
- 				'bug':{'icon':'fas fa-bug','label':'Bug','color':'#cb2431'},
 
- 				'feature':{'icon':'fas fa-check','label':'Demande','color':'#2cbe4e'}
 
- 			}
 
- 			)">(Select data-type="tagcloud")</small>
 
- 			<input type="text" data-type="tagcloud" data-tags='{"bug":{"icon":"fas fa-bug","label":"Bug","color":"#cb2431"},"feature":{"icon":"fas fa-check","label":"Demande","color":"#2cbe4e"},"question":{"icon":"far fa-question-circle","label":"Question","color":"#00BCD4"}}' class="form-control"  value="bug,question"/>
 
- 			<label for="example-country">Pays</label>
 
- 			<small class="text-muted">(Select data-type="dictionnary")</small>
 
- 			<select data-type="dictionnary" data-slug="countries" data-depth="3" data-id="country" data-value="" class="form-control select-control" name="example-country" id="example-country"></select>
 
- 			<br>
 
- 			<label for="country">Etat</label>
 
- 			<small data-tooltip title="* data-icon : l'icone affichée près du label (optionnel)" class="text-muted">(Select data-type="dropdown-select")</small><br/>
 
- 			<select data-type="dropdown-select" id="state">
 
-             	<option selected="selected" value="active" style="background-color:#2cbe4e;color:#ffffff;" data-icon="far fa-check-circle">Actif</option>
 
-             	<option value="inactive" style="background-color:#c90000;color:#ffffff;" data-icon="far fa-times-circle">Inactif</option>
 
-             </select><br/>
 
- 			<label for="address">Adresse</label>
 
- 			<small class="text-muted"> (Input data-type="location")</small>
 
- 			<input type="text" data-type="location" data-filter-geocode data-select-callback="example_location_select" data-geocode-callback="example_location_geocode" data-filter-country="FRA" value="<?php echo $contact->address; ?>" class="form-control" id="address" name="address"/>
 
- 			Ville : <span id="city">...</span><br>
 
- 			Pays : <span id="country">...</span>
 
- 			<br><br>
 
- 			<label for="document">Documents</label>
 
- 			<small class="text-muted" data-placement="right" data-tooltip title="* data-label 			:	le label affiché dans la zone
 
- * data-delete 			:	méthode de suppression de doc de l'entité 
 
- * data-max-files 	:	nombre de fichiers uploadables (defaut : 0 pour infini) 
 
- * data-preview 		:	Affiche l'apercu de l'image si possible
 
- * data-readonly		:       false/true Active désactive la possibilité d'envoyer du fichier
 
- * data-allowed		:	 les extensions de fichier acceptées"> (Div data-type="dropzone")</small>
 
- 			<div data-type="dropzone" data-label="Faites glisser vos documents ici" data-delete="contact_delete_document" data-save="contact_add_document" data-allowed="docx,pdf,txt,jpg,bmp,gif,xlsx,png,iso" class="form-control" id="document" name="document">
 
- 				<?php echo json_encode($contact->documents()); ?>
 
- 				<!-- Template action custom pour la dropzone -->
 
- 				<div class="btn dropzone-custom-button hidden" onclick="alert('Je suis le fichier '+$(this).prev('a').text()+ '. Je vaux '+Math.floor((Math.random() * 10) + 1)+' bitcoins');" title="Une action custom" id="send-offer-button"><i class="fab fa-bitcoin"></i></div>
 
- 			</div>
 
- 			<br>
 
- 			<label for="story">Histoire</label>
 
- 			<small class="text-muted" data-placement="right" data-tooltip title="* data-label 			:	le label affiché dans la zone
 
- * data-mention-user='true' :activer les mentions d'utilisateurs interne
 
- * data-mention-object='action' :activer les mentions # sur une action
 
- * data-script-allow : désactive la supression automatique des tags <scripts> et <link> (anti xss)
 
- "> (Textarea data-type="wysiwyg")</small>
 
- 			<textarea data-type="wysiwyg" class="" id="story" name="story" data-mention-user="true" data-mention-object='issue_autocomplete'><?php echo $contact->story; ?></textarea>
 
- 			<label for="storyShort">Histoire dans un input</label>
 
- 			<small class="text-muted"> (Textarea data-type="wysiwyg" et data-minimal)</small>
 
- 			<textarea data-type="wysiwyg" class="form-control m-0" data-minimal id="storyShort" name="storyShort" data-mention-user="true" data-mention-object='issue_autocomplete'><?php echo $contact->storyShort; ?></textarea>
 
- 			<br>
 
- 			<label for="login">Login</label>
 
- 			<small class="text-muted"> (Simple input texte)</small>
 
- 			<input type="text" value="<?php echo $contact->login; ?>" placeholder="Identifiant" class="form-control" id="login" name="login"/>
 
- 			<br>
 
- 			<label for="password">Password</label>
 
- 			<small class="text-muted"> (Input data-type="password")</small>
 
- 			<input type="text" data-type="password" data-toggle-event="hover" data-generator value="<?php echo $contact->password; ?>" placeholder="Mot de passe" class="form-control" id="password" name="password"/>
 
- 			<br>
 
- 			<label for="contact">Nom du tuteur :</label>
 
- 			<small class="text-muted"> (Div data-type="quickform")</small>
 
- 			<div class="quickform d-inline-block" data-type="quickform" data-title="Ajout rapide de tuteur :" data-loaded="example_quickform_buttons"  data-action="contact_quick_create"><i title="Ajoutez rapidement un tuteur." class="fas fa-user-plus"></i></div>
 
- 			<input type="text" value="" placeholder="Nom du contact" class="form-control" id="contact" name="contact"/>
 
- 			<br>
 
- 			<label for="label">Donuts</label>
 
- 			<small class="text-muted"> (canvas data-type="doughnut")</small>
 
- 			<canvas data-type="doughnut" data-values="[1,3,4,7]" data-labels='["fib","on","acci"]' data-colors='["#f39c12","#2980b9","#27ae60"]'></canvas>
 
- 			<br>
 
- 			<label for="label">Line</label>
 
- 			<small class="text-muted"> (canvas data-type="line")</small>
 
- 			<canvas data-type="line" data-values="[1,3,4,7]" data-labels='["fib","on","acci"]' data-color='#8e44ad'>Graphique example</canvas>
 
- 			<br>
 
- 			<label for="label">Bar</label>
 
- 			<small class="text-muted"> (canvas data-type="bar")</small>
 
- 			<canvas data-type="bar" data-values="[2,3,4,7]" data-labels='["fib","on","acci"]' data-colors='["#f39c12","#2980b9","#27ae60"]'>Graphique example</canvas>
 
- 			<br>
 
- 			<div id="checkboxes">
 
- 				<label>Input checkbox</label>
 
- 				<small class="text-muted"> (Input data-type="checkbox")</small><br>
 
- 				<input type="checkbox" id="mycheckbox1" name="mycheckbox1" data-class="blink_me" data-type="checkbox"><label for="mycheckbox1">Ma checkbox 1 (avec id, non encapsulée)</label><br>
 
- 				<label for="checkbox_2"><input type="checkbox" id="checkbox_2" name="checkbox" data-class="" data-type="checkbox">Ma checkbox 2 (avec id, encapsulée)</label><br>
 
- 				<label><input type="checkbox" name="checkbox" data-class="" data-type="checkbox">Ma checkbox 3 (sans id, encapsulée)</label><br>
 
- 				<input type="checkbox" name="checkbox" data-class="" data-type="checkbox"><label>Ma checkbox 4 (sans id, non encapsulée)</label><br>
 
- 				<input type="checkbox" id="checkbox_5" name="checkbox" data-class="" data-type="checkbox" disabled><label for="checkbox_5">Ma checkbox 5 (avec id, disabled)</label><br>
 
- 				<label><input type="checkbox" name="checkbox" data-class="" data-type="checkbox" disabled>Ma checkbox 6 (sans id, disabled)</label><br>
 
- 				<input type="checkbox" id="checkbox_7" name="checkbox" data-class="" data-type="checkbox" disabled checked><label for="checkbox_7">Ma checkbox 7 (disabled, checked)</label><br>
 
- 			</div>
 
- 			<br>
 
- 			<div>
 
- 				<label>Input radio</label>
 
- 				<small class="text-muted"> (Input data-type="radio")</small><br>
 
- 				<input type="radio" id="case1" name="my-radio-button" data-type="radio" data-label="Hello"><br>
 
- 				<label><input type="radio" id="case2" name="my-radio-button" data-type="radio">Toto</label><br>
 
- 				<input type="radio" id="case3" name="my-radio-button" data-type="radio"><label for="case3">Coucou</label><br>
 
- 				<input type="radio" id="case4" name="my-radio-button" data-type="radio" disabled><label for="case4">Disabled avec id</label><br>
 
- 				<input type="radio" name="my-radio-button" data-type="radio"><label>Sans id</label><br>
 
- 				<input type="radio" name="my-radio-button" data-type="radio" disabled><label>Disabled sans id</label>
 
- 			</div>
 
- 			<br>
 
- 			<label for="label">Tableau d'une liste</label>
 
- 			<small class="text-muted"> (div data-type="dictionnary-table")</small>
 
- 			<div data-type="dictionnary-table" data-dictionnary="vehicles"></div>
 
- 			<br><br>
 
- 			<?php if($myFirm->has_plugin('fr.sys1.stripe')) : ?>
 
- 				<label for="checkbox">Formulaire de paiement en ligne (via API Stripe)</label>
 
- 				<small class="text-muted"> (Div data-type="payment")</small><br>
 
- 				<small class="text-muted">Il faut configurer les clés API en config avant de pouvoir réaliser un paiement. (Voir <a href="https://stripe.com/docs/testing#cards" target="_blank">cette page</a> pour des cartes bleues de tests)</small>
 
- 				<div data-type="payment" data-action="example_stripe_pay"></div>
 
- 			<?php endif; ?>
 
- 		</div>
 
- 		<div class="col-md-12 text-center noLabel">
 
- 			<div class="btn btn-success" onclick="contact_save();"><i class="fas fa-check"></i> Enregistrer</div>
 
-        		
 
-        		<?php if($myUser->can('export', 'read') && $myFirm->has_plugin('fr.sys1.export')) : ?>
 
- 			<div class="d-inline-block" data-type="export-model" data-pre-callback="contact_export_pre_callback" data-post-callback="contact_export_post_callback" data-parameters='<?php echo stripslashes(json_encode(array("plugin"=>"example","dataset"=>"contact-sheet","id"=>$contact->id,"destination"=>addslashes('contact'.SLASH.'documents'.SLASH.$contact->id.SLASH)))); ?>'>
 
- 				<div class="btn btn-primary"><i class="far fa-file"></i> Export modèle</div>
 
- 			</div>
 
-        		<?php endif; ?>
 
- 			<div class="btn btn-info" onclick='sendmail_preview(<?php echo json_encode($data); ?>);'><i class="fas fa-paper-plane"></i> Envoi mail</div>
 
- 			<br><br>
 
- 		</div>
 
- 	</form>
 
- </div>
 
 
  |