| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | <?php /*	Effet de workflow	Execute un autre workflow, nb: le workflow executé doit être du même type que le workflow executant*/class LoadWorkflowEffect{	//Descriptif du type d'effet	public static function manifest($key = null){		$manifest = array(			'slug' => 'workflow',			'label' => 'Lancer un workflow',			'class' => get_called_class(),			'path' => __FILE__,			'icon' => 'fas fa-network-wired',			'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">			Workflow  : 			</div>			<input type="text" data-id="workflow-id" class="form-control" value="<?php echo isset($item['workflow-id']) ? $item['workflow-id'] : '' ?>" placeholder="Id du workflow">		</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['workflow-id'] = template($effect->values['workflow-id'],$parameters,true);			$toLoad = Workflow::getById($effect->values['workflow-id']);		if(!$toLoad){			$logs.=' Workflow inexistant';			return $logs;		}			if( $parameters['workflow']['type'] != $toLoad->type ){			$logs.=" Workflow d'origine d'un type différent du workflow de destination";			return $logs;		}		$logs .= '<i class="'.self::manifest('icon').'"></i> Lancement de '.$toLoad->label;				$logs .= implode('<br>',$toLoad->run(null,$parameters));		return $logs;	}}?>
 |