list.php 4.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <?php
  2. $nerve = dirname(dirname(__DIR__)).DIRECTORY_SEPARATOR.'nerve';
  3. ?>
  4. <div class="span12">
  5. <?php if(isset($_['page']) && $_['page']=='doc'): ?>
  6. <h1>Documentation</h1>
  7. <h3 id="doc.install">Installation</h3>
  8. Pour profiter pleinement de ce plugin, vous devez ajouter (si ce n'est pas déja fait) une tâche planifiée sur le raspberry PI.<br/>Pour cela tapez :
  9. <br/><code>sudo crontab -e</code>
  10. <br/>Puis ajoutez la ligne <br/><code>*/1 * * * * wget http://localhost/yana-server/action.php?action=crontab -O /dev/null 2>&1</code><br/>
  11. <br/>Puis ajoutez la ligne <br/><code>@reboot <?php echo $nerve; ?> <?php echo __ROOT__.DIRECTORY_SEPARATOR.'action.php'; ?> -O /dev/null 2>&1</code><br/>Puis sauvegardez (ctrl+x puis O puis Entrée)<br/>
  12. <br/>Executez la commande<br/><code>sudo chmod +x <?php echo $nerve; ?></code>
  13. <br/><br/>
  14. <h3>Variables</h3>
  15. Des variables peuvent être définies, testées ou consultées dans les scénarios.<br/>
  16. Les points suivants sont à noter
  17. <ul>
  18. <li>Pour définir une variable et sa valeur, il faut créer un effet "variable"</li>
  19. <li>Pour utiliser une variable existante en tant que cause il faut créer une cause "variable" en reprenant le nom de la variable créée</li>
  20. <li>Pour utiliser la valeur d'une variable dans un autre effet (liste de commande, url etc...) vous pouvez placer la variable entre accolades.<small> ex : pour utiliser une variable <code>toto</code> dans une ligne de commande, créez un effet commande et placez dans le texte <code>ma-commande {toto}</code> </small></li>
  21. <li>Les effet de type <code>commande</code> envoient automatiquement leurs résultat de sortie dans la variable <code>cmd_result</code></li>
  22. <li>Les effet de type <code>url</code> envoient automatiquement leurs résultat de requette dans la variable <code>url_result</code></li>
  23. <li>Certaines variables "communes" sont définies par défaut (voir ci dessous)</li>
  24. </ul>
  25. Les variables par défaut sont les suivantes
  26. <ul>
  27. <?php foreach(Story::keywords() as $key=>$value): ?>
  28. <li><code><?php echo $key; ?></code> : <?php echo $value; ?></li>
  29. <?php endforeach; ?>
  30. </ul>
  31. <?php else:
  32. $story = new Story();
  33. $stories = $story->populate();
  34. ?>
  35. <h1>Gestion des scénarios</h1>
  36. <form action="action.php?action=plugin_story_import" method="POST" enctype="multipart/form-data">
  37. <a class="btn" href="index.php?module=story&action=edit">Ajouter un scenario</a> OU Importer un scénario <input type="file" class="btn" onchange="$(this).parent().submit()" name="import">
  38. </form>
  39. <h2>Scénarios existants</h2>
  40. <table class="table table-striped table-bordered table-hover">
  41. <thead>
  42. <tr>
  43. <th colspan="2">Titre</th>
  44. </tr>
  45. </thead>
  46. <?php
  47. foreach($stories as $story){
  48. echo '<tr data-id="'.$story->id.'">
  49. <td><a style="display:block;" href="index.php?module=story&action=edit&story='.$story->id.'">'.$story->label.'</a></td>
  50. <td class="story_loader" class="pointer" title="Executer manuellement le scénario" onclick="story_launch('.$story->id.',this);"><i class="fa"> <span>Chargement...</span></td>
  51. <td style="width:15px;" class="pointer" title="Voir le dernier log executé" onclick="story_log(\''.$story->id.'\')"><i class="fa fa-align-justify"></i></td>
  52. <td style="width:15px;" class="pointer" title="Activer/Désactiver" onclick="story_change_state(\''.$story->id.'\',this)"><i class="fa '.($story->state?'fa-check-square-o':'fa-square-o').'"></i></td>
  53. <td style="width:15px;" class="pointer" title="Exporter" onclick="window.location=\'action.php?action=plugin_story_export&id='.$story->id.'\'"><i class="fa fa-external-link"></i></td>
  54. <td style="width:15px;" class="pointer" onclick="story_delete(\''.$story->id.'\',this)"><i class="fa fa-times"></i></td>
  55. </tr>';
  56. echo '<tr style="display:none" data-log="'.$story->id.'"><td colspan="3"><pre>'.$story->log.'</pre></td></tr>';
  57. }
  58. ?>
  59. </table>
  60. <div class="alert alert-notice">
  61. <button type="button" class="close" data-dismiss="alert">&times;</button>
  62. <strong>Important!</strong> Consultez <a href="index.php?module=story&page=doc#doc.install">la rubrique installation</a> avant de créer des scénarios, certaines manipulations sont obligatoires
  63. pour le bon fonctionnement du plugin.
  64. </div>
  65. <div class="alert alert-info">
  66. <button type="button" class="close" data-dismiss="alert">&times;</button>
  67. <strong>Documentation</strong> Un soucis? une question ? Voir la <a href="index.php?module=story&page=doc">documentation</a>
  68. </div>
  69. <?php
  70. if(!file_exists($nerve)):
  71. ?>
  72. <div class="alert alert-error">
  73. <button type="button" class="close" data-dismiss="alert">&times;</button>
  74. <strong>Attention!</strong> Le fichier <?php echo $nerve; ?> doit être présent et lancé pour que les causes types 'gpio' fonctionnent.
  75. </div>
  76. <?php endif; ?>
  77. <?php endif; ?>
  78. <hr/>
  79. </div>