| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- <?php 
 
- /*
 
- 	Effet de workflow
 
- 	Envois une notification à un ou plusieurs utilisateurs interne
 
- */
 
- class NotificationEffect{
 
- 	//Descriptif du type d'effet
 
- 	public static function manifest($key = null){
 
- 		$manifest = array(
 
- 			'slug' => 'notification',
 
- 			'label' => 'Envoyer une notification',
 
- 			'class' => get_called_class(),
 
- 			'path' => __FILE__,
 
- 			'icon' => 'far fa-bell',
 
- 			'color' => '#ff9f43',
 
- 		);
 
- 		if(!isset($key)) return $manifest;
 
- 		return isset($manifest[$key]) ? $manifest[$key] : '' ;
 
- 	}
 
- 	//méthode d'affichage de l'effet
 
- 	public static function form($item){
 
- 		$html  = '';
 
- 		$class = get_called_class();
 
- 		
 
- 		//$class::manifest('icon')
 
- 		ob_start();
 
- 		?>
 
- 		
 
- 		<div class="input-group">
 
- 			<div class="input-group-text input-group-prepend">
 
- 			Notifier  : 
 
- 			</div>
 
- 			<input type="text" data-id="recipient" data-type="user" class="form-control" value="<?php echo isset($item['recipient']) ? $item['recipient'] : '' ?>" placeholder="utilisateur" required>
 
- 			<div class="input-group mt-1">
 
- 			<div class="input-group-text input-group-prepend">
 
- 			Titre  : 
 
- 			</div>
 
- 			<input type="text" data-id="title" class="form-control" value="<?php echo isset($item['title']) ? $item['title'] : '' ?>" placeholder="Bonjour,...">
 
- 			</div>
 
- 			<textarea  data-id="message" data-type="wysiwyg"><?php echo isset($item['message']) ? $item['message'] : '' ?></textarea>
 
- 		</div>
 
- 		
 
- 		<?php
 
- 		$html = ob_get_clean();
 
- 		return $html;
 
- 	}
 
- 	public static function run($effect,$parameters = array()){
 
- 		global $conf;
 
- 		$logs = '';
 
- 		
 
- 		if( in_array($parameters['workflow']['type'] , array( Workflow::TYPE_ENTITY, Workflow::TYPE_LIST))  ){
 
- 			if(isset($parameters['current'])) $parameters['current'] = $parameters['current']->toArray();
 
- 			if(isset($parameters['old'])) $parameters['old'] = $parameters['old']->toArray();
 
- 		}
 
- 		$effect->values['title'] = isset($effect->values['title']) ? template($effect->values['title'],$parameters,true) : '';
 
- 		$effect->values['message'] =isset($effect->values['message']) ? template($effect->values['message'],$parameters,true): '';
 
- 		
 
- 		try{
 
- 			$logs = 'Pour '.$effect->values['recipient'].': '.$effect->values['title'];
 
- 			Plugin::callHook('emit_notification',array(array(
 
- 				'label' => $effect->values['title'],
 
- 				'html' => wysiwyg_filter(html_entity_decode($effect->values['message'])),
 
- 				'pinned' => 0,
 
- 				'type' => 'notice',
 
- 				'recipients' => array($effect->values['recipient'])
 
- 			)));
 
- 			
 
- 		}catch(Exception $e){
 
- 			$logs .= '<span  class="text-danger"><br>Erreur : '.$e->getMessage().'</span>'; 
 
- 		}
 
- 		return $logs;
 
- 	}
 
- }
 
- ?>
 
 
  |