| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 | 
							- <?php
 
- /*
 
-  @nom: Effect
 
-  @auteur: Idleman (idleman@idleman.fr)
 
-  @description:  Représente un effet de scénario (une conséquence produite par une ou plusieurs causes)
 
-  */
 
- class Effect extends SQLiteEntity{
 
- 	public $id,$story,$sort,$type,$values,$operator,$union;
 
- 	protected $TABLE_NAME = 'plugin_story_effect';
 
- 	protected $CLASS_NAME = 'Effect';
 
- 	protected $object_fields = 
 
- 	array(
 
- 		'id'=>'key',
 
- 		'story'=>'int',
 
- 		'sort'=>'int',
 
- 		'type'=>'string',
 
- 		'union'=>'string',
 
- 		'values'=>'longstring'
 
- 	);
 
- 	function __construct(){
 
- 		parent::__construct();
 
- 	}
 
- 	
 
- 	public static function types(){
 
- 		$types = array(
 
- 			'command' => array(
 
- 					'icon' => 'fa-terminal',
 
- 					'label' => 'Commande',
 
- 					'template' => '<select data-value="{target}" data-field="target"><option value="server">Serveur</option><option value="client">Client</option></select> = <input data-field="value" style="max-width:50%;width:50%;" type="text" placeholder="valeur" value="{value}">',
 
- 					'description' => 'Execute une commande système sur yana-server ou sur le(s) client(s)'
 
- 					),
 
- 			'gpio' => array(
 
- 					'icon' => 'fa-dot-circle-o',
 
- 					'label' => 'GPIO',
 
- 					'template' => 'numéro <input type="text" data-field="gpio" placeholder="1,2,3,4..." value="{gpio}"> en état <select data-value="{value}" data-field="value"><option value="1">Actif</option><option value="0">Inactif</option></select>',
 
- 					'description' => 'Change l\'état du GPIO sélectionné en état actif (1) ou inactif(0)'
 
- 					),
 
- 			'talk' => array(
 
- 					'icon' => 'fa-volume-up',
 
- 					'label' => 'Phrase',
 
- 					'template' => '= <input type="text" style="max-width:50%;width:50%;" data-field="value" placeholder="Ma phrase.." value="{value}">',
 
- 					'description' => 'Prononce une phrase sur le(s) client(s)'
 
- 					),
 
- 			'var' => array(
 
- 					'icon' => 'fa-dollar',
 
- 					'label' => 'Variable',
 
- 					'template' => '<input type="text" data-field="var" placeholder="Ma variable" value="{var}"> <span data-field="operator" class="operator">=</span> <input data-field="value" type="text" placeholder="Ma valeur" value="{value}">',
 
- 					'description' => 'Créé/Modifie une variable de configuration avec la valeur spécifiée (nb: vous pouvez utiliser la valeur d\'une variable dans les autres effet avec la syntaxe {nomvariable}'
 
- 					),
 
- 			'sleep' => array(
 
- 					'icon' => 'fa-coffee',
 
- 					'label' => 'Pause',
 
- 					'template' => '= <input type="text" placeholder="durée(secondes)" data-field="value" value="{value}"> seconde(s)',
 
- 					'description' => 'Fait une pause du nombre de secondes spécifiées'
 
- 					),
 
- 			'story' => array(
 
- 					'icon' => 'fa-caret-square-o-right',
 
- 					'label' => 'Scénario',
 
- 					'template' => '',
 
- 					'description' => 'Déclenche le scénario spécifié'
 
- 					),
 
- 			'url' => array(
 
- 					'icon' => 'fa-globe',
 
- 					'label' => 'Url',
 
- 					'template' => '<input style="max-width:50%;width:50%;" data-field="value" value="{value}" type="text">',
 
- 					'description' => 'Execute l\'adresse spécifiée à partir du serveur'
 
- 					),
 
- 			'emotion' => array(
 
- 					'icon' => 'fa-smile-o',
 
- 					'label' => 'Emotion',
 
- 					'template' => '',
 
- 					'description' => 'Active une émotion sur le(s) client(s) visuel (face)'
 
- 					),
 
- 			'sound' => array(
 
- 					'icon' => 'fa-music',
 
- 					'label' => 'Son',
 
- 					'template' => '= <input type="text" style="max-width:50%;width:50%;" data-field="value" placeholder="c:\my.sound.mp3" value="{value}">',
 
- 					'description' => 'Active un son sur le(s) client(s) a partir du chemin du fichier en local sur le client'
 
- 					),
 
- 			'image' => array(
 
- 					'icon' => 'fa-file-image-o',
 
- 					'label' => 'Image',
 
- 					'template' => '= <input type="text" style="max-width:50%;width:50%;" data-field="value" placeholder="http://my/img.png" value="{value}">',
 
- 					'description' => 'Affiche une image sur le(s) client(s) visuel (face) a partir d\'une url'
 
- 					),
 
- 		);
 
- 	
 
- 	$types['emotion']['template'] ='= <select data-value="{value}" data-field="value">';
 
- 	//@TODO placer les emotions dans Personnality class
 
- 	foreach(array('angry','happy','worry','shy') as $emotion):
 
- 	$types['emotion']['template'] .='<option value="'.$emotion.'">'.$emotion.'</option>';
 
- 	endforeach;
 
- 	$types['emotion']['template'] .='= </select>';
 
- 	
 
- 	
 
- 	$types['story']['template'] = '<select data-value="{value}"  data-field="value" class="story">';
 
- 		require_once('Story.class.php');
 
- 		$stories = new Story();
 
- 		$stories = $stories->populate();
 
- 		foreach($stories as $story):
 
- 			$types['story']['template'] .= '<option value="'.$story->id.'">'.$story->label.'</option>';
 
- 		endforeach;
 
- 		$types['story']['template'] .= '</select>';
 
- 		return $types;
 
- 	}
 
- 	function setValues($values){
 
- 		foreach($values as $key=>$value){
 
- 			$values[$key] = htmlspecialchars_decode(stripslashes($value));
 
- 		}
 
- 		$this->values = json_encode($values);
 
- 	}
 
- 	
 
- 	function getValues(){
 
- 		return json_decode(stripslashes($this->values));
 
- 	}
 
- }
 
- ?>
 
 
  |