/**
 * Télécharge le Favicon en fonction de l'ID d'un flux
 * @param int $feed_id
 */
function fleedicon_content_plugin_getFavicon($feed_id)
{
    /**
     * Chemin de l'icone pour ce flux
     */
    $iconPath = Plugin::path() . 'favicons/' . $feed_id . '.png';
    /**
     * S'il n'existe pas encore
     * il faut le télécharger
     */
    if (!file_exists($iconPath)) {
        /**
         * On récupère les infos du flux
         */
        $f = new Feed();
        $f = $f->getById($feed_id);
        /**
         * Et notamment le site web
         * Plus pertinent que l'URL du flux à cause notamment de feedburner
         */
        $url = parse_url($f->getWebsite());
        /**
         * Si l'URL est inexistante ou malformée on essaie 
         * quand même avec l'URL du flux
         */
        if (!$url) {
            $url = parse_url($f->getUrl());
        }
        /**
         * Si l'une des deux marche on essai d'appeler le service g.etfv.co
         */
        if ($url && isset($url['host'])) {
            $url['scheme'] = isset($url['scheme']) ? $url['scheme'] : 'http';
            $ctx = stream_context_create(array('http' => array('timeout' => 2)));
            $icon = file_get_contents('http://www.google.com/s2/favicons?domain=' . $url['scheme'] . '://' . $url['host'], 0, $ctx);
            if ($icon) {
                file_put_contents($iconPath, $icon);
            } else {
                copy(Plugin::path() . 'default.png', $iconPath);
            }
        } else {
            /**
             * Sinon on utilise l'icône par défaut
             */
            copy(Plugin::path() . 'default.png', $iconPath);
        }
    }
    /**
     * Besoin de ça pour renseigner correctement le ALT
     */
    global $allFeeds;
    /**
     * Et l'image brute, sans CSS
     */
    echo '<img src="' . $iconPath . '" width="16" height="16" alt="' . htmlentities($allFeeds['idMap'][$feed_id]['name'], ENT_QUOTES) . '" />';
}
function getCSSMaker()
{
    $cssDir = './' . Plugin::path() . 'cssmaker/';
    $cssFiles = scandir($cssDir);
    foreach ($cssFiles as $cssFile) {
        if (is_file($cssDir . $cssFile) && !in_array($cssFile, array(".", "..", "@"))) {
            $cssTab[] = $cssFile;
        }
    }
    isset($cssTab) ? sort($cssTab) : ($cssTab = false);
    return $cssTab;
}
示例#3
0
<?php

/**
 * Création du dossier de favicons
 */
if (!file_exists(Plugin::path() . 'favicons/')) {
    $res = mkdir(Plugin::path() . 'favicons/');
    if (!$res) {
        echo 'Impossible de créer le dossier pour stocker les favicons, vérifiez les droits sur le serveur';
    }
}
示例#4
0
function radiorelay_plugin_action()
{
    global $_, $conf, $myUser;
    //Action de réponse à la commande vocale "Yana, commande de test"
    switch ($_['action']) {
        case 'radioRelay_save_radioRelay':
            Action::write(function ($_, &$response) {
                $radioRelayManager = new RadioRelay();
                if (empty($_['nameRadioRelay'])) {
                    throw new Exception("Le nom est obligatoire");
                }
                if (!is_numeric($_['radioCodeRadioRelay'])) {
                    throw new Exception("Le code radio est obligatoire et doit être numerique");
                }
                $radioRelay = !empty($_['id']) ? $radioRelayManager->getById($_['id']) : new RadioRelay();
                $radioRelay->name = $_['nameRadioRelay'];
                $radioRelay->description = $_['descriptionRadioRelay'];
                $radioRelay->room = $_['roomRadioRelay'];
                $radioRelay->pulse = $_['pulseRadioRelay'];
                $radioRelay->onCommand = $_['onRadioRelay'];
                $radioRelay->offCommand = $_['offRadioRelay'];
                $radioRelay->icon = $_['iconRadioRelay'];
                $radioRelay->radiocode = $_['radioCodeRadioRelay'];
                $radioRelay->save();
                $response['message'] = 'Relais enregistré avec succès';
            }, array('plugin_radiorelay' => 'c'));
            break;
        case 'radioRelay_delete_radioRelay':
            Action::write(function ($_, $response) {
                $radioRelayManager = new RadioRelay();
                $radioRelayManager->delete(array('id' => $_['id']));
            }, array('plugin_radiorelay' => 'd'));
            break;
        case 'radioRelay_plugin_setting':
            Action::write(function ($_, &$response) {
                global $conf;
                $conf->put('plugin_radioRelay_emitter_pin', $_['emiterPin']);
                $conf->put('plugin_radioRelay_emitter_code', $_['emiterCode']);
                $response['message'] = 'Configuration enregistrée';
            }, array('plugin_radiorelay' => 'c'));
            break;
        case 'radioRelay_manual_change_state':
            Action::write(function ($_, &$response) {
                radiorelay_plugin_change_state($_['engine'], $_['state']);
            }, array('plugin_radiorelay' => 'c'));
            break;
        case 'radioRelay_vocal_change_state':
            global $_, $myUser;
            try {
                $response['responses'][0]['type'] = 'talk';
                if (!$myUser->can('plugin_radiorelay', 'u')) {
                    throw new Exception('Je ne vous connais pas, ou alors vous n\'avez pas le droit, je refuse de faire ça!');
                }
                radiorelay_plugin_change_state($_['engine'], $_['state']);
                $response['responses'][0]['sentence'] = Personality::response('ORDER_CONFIRMATION');
            } catch (Exception $e) {
                $response['responses'][0]['sentence'] = Personality::response('WORRY_EMOTION') . '! ' . $e->getMessage();
            }
            $json = json_encode($response);
            echo $json == '[]' ? '{}' : $json;
            break;
        case 'radioRelay_plugin_setting':
            Action::write(function ($_, &$response) {
                global $conf;
                $conf->put('plugin_radioRelay_emitter_pin', $_['emiterPin']);
                $conf->put('plugin_radioRelay_emitter_code', $_['emiterCode']);
                $response['message'] = 'Configuration modifiée avec succès';
            }, array('plugin_radiorelay' => 'u'));
            break;
        case 'radioRelay_load_widget':
            require_once dirname(__FILE__) . '/../dashboard/Widget.class.php';
            Action::write(function ($_, &$response) {
                $widget = new Widget();
                $widget = $widget->getById($_['id']);
                $data = $widget->data();
                $content = '';
                if (empty($data['relay'])) {
                    $content = 'Choisissez un relais en cliquant sur l \'icone <i class="fa fa-wrench"></i> de la barre du widget';
                } else {
                    if (fileperms(Plugin::path() . 'radioEmission') != '36333') {
                        $content .= '<div style="margin:0px;" class="flatBloc pink-color">Attention, les droits vers le fichier <br/> radioEmission sont mal réglés.<br/> Référez vous à <span style="cursor:pointer;text-decoration:underline;" onclick="window.location.href=\'https://github.com/ldleman/yana-server#installation\';">la doc</span> pour les régler</div>';
                    }
                    $relay = new RadioRelay();
                    $relay = $relay->getById($data['relay']);
                    $response['title'] = $relay->name;
                    $content .= '
						<!-- CSS -->
						<style>
							
							.radiorelay_relay_pane {
							    background: none repeat scroll 0 0 #50597b;
							    list-style-type: none;
							    margin: 0;
							    cursor:default;
							    width: 100%;
							}
							.radiorelay_relay_pane li {
							    background: none repeat scroll 0 0 #50597b;
							    display: inline-block;
							    margin: 0 1px 0 0;
							    padding: 10px;
							    cursor:default;
							    vertical-align: top;
							}
							.radiorelay_relay_pane li h2 {
							    color: #ffffff;
							    font-size: 16px;
							    margin: 0 0 5px;
							    padding: 0;
							    cursor:default;
							}
							.radiorelay_relay_pane li h1 {
							    color: #B6BED9;
							    font-size: 14px;
							    margin: 0 0 10px;
							    padding: 0;
							    cursor:default;
							}

							.radiorelay_relay_pane li.radiorelay-case{
								background-color:  #373f59;
								width: 55px;
								cursor:pointer;
							}
							.radiorelay-case i{
								color:#8b95b8;
								font-size:50px;
								transition: all 0.2s ease-in-out;
							}
							.radiorelay-case.active i{
								color:#ffffff;
								text-shadow: 0 0 10px #ffffff;
							}

							.radiorelay-case.active i.fa-lightbulb-o{
								color:#FFED00;
								text-shadow: 0 0 10px #ffdc00;
							}
							.radiorelay-case.active i.fa-power-off{
								color:#BDFF00;
								text-shadow: 0 0 10px #4fff00;
							}

							.radiorelay-case.active i.fa-flash{
								color:#FFFFFF;
								text-shadow: 0 0 10px #00FFD9;
							}

							.radiorelay-case.active i.fa-gears{
								color:#FFFFFF;
								text-shadow: 0 0 10px #FF00E4;
							}

						</style>
						
						<!-- CSS -->
						<ul class="radiorelay_relay_pane">
								<li class="radiorelay-case ' . ($relay->state ? 'active' : '') . '" onclick="plugin_radiorelay_change(this,' . $relay->id . ');" style="text-align:center;">
									<i title="On/Off" class="' . $relay->icon . '"></i>
								</li>
								<li>
									<h2>' . $relay->description . '</h2>
									<h1>CODE ' . $relay->radiocode . ($relay->pulse != 0 ? ' - Pulse ' . $relay->pulse . 'µs' : '') . '</h1>
								</li>
							</ul>

						<!-- JS -->
						<script type="text/javascript">
							function plugin_radiorelay_change(element,id){
								var state = $(element).hasClass(\'active\') ? 0 : 1 ;

								$.action(
									{
										action : \'radioRelay_manual_change_state\', 
										engine: id,
										state: state
									},
									function(response){
										$(element).toggleClass("active");
									}
								);

							}
						</script>
						';
                }
                $response['content'] = $content;
            });
            break;
        case 'radioRelay_edit_widget':
            require_once dirname(__FILE__) . '/../dashboard/Widget.class.php';
            $widget = new Widget();
            $widget = $widget->getById($_['id']);
            $data = $widget->data();
            $relayManager = new RadioRelay();
            $relays = $relayManager->populate();
            $content = '<h3>Relais ciblé</h3>';
            if (count($relays) == 0) {
                $content = 'Aucun relais existant dans yana, <a href="setting.php?section=radioRelay">Créer un relais ?</a>';
            } else {
                $content .= '<select id="relay">';
                $content .= '<option value="">-</option>';
                foreach ($relays as $relay) {
                    $content .= '<option value="' . $relay->id . '">' . $relay->name . '</option>';
                }
                $content .= '</select>';
            }
            echo $content;
            break;
        case 'radioRelay_save_widget':
            require_once dirname(__FILE__) . '/../dashboard/Widget.class.php';
            $widget = new Widget();
            $widget = $widget->getById($_['id']);
            $data = $widget->data();
            $data['relay'] = $_['relay'];
            $widget->data($data);
            $widget->save();
            echo $content;
            break;
    }
}
示例#5
0
// Inluding needed providers
require_once Plugin::path('providers/html.php');
require_once Plugin::path('providers/image/lorempixel.php');
require_once Plugin::path('providers/image/placeholdit.php');
require_once Plugin::path('providers/image/500px.php');
require_once Plugin::path('providers/text/base.php');
// Require the Base module
require_once Plugin::path('modules/base.php');
// Require the Meta module
require_once Plugin::path('providers/wp-meta.php');
require_once Plugin::path('modules/meta.php');
// Require the Post module
require_once Plugin::path('providers/wp-post.php');
require_once Plugin::path('modules/post.php');
// Require the Attachment module
require_once Plugin::path('providers/wp-attachment.php');
require_once Plugin::path('modules/attachment.php');
// Require the User module
require_once Plugin::path('providers/wp-user.php');
require_once Plugin::path('modules/user.php');
// Require the Term module
require_once Plugin::path('providers/wp-term.php');
require_once Plugin::path('modules/term.php');
// Require the Comment module
require_once Plugin::path('providers/wp-comment.php');
require_once Plugin::path('modules/comment.php');
// Require our Administration Class
Plugin::$admin = (require_once Plugin::path('inc/class-fp-admin.php'));
// Require our Ajax Class
Plugin::$ajax = (require_once Plugin::path('inc/class-fp-ajax.php'));
function plugin_leedUpdateSourcePlugin()
{
    //récupération du fichier
    $lienMasterLeedPlugin = $_POST['plugin_leedUpdateSource_sourcePlugin'];
    echo $lienMasterLeedPlugin;
    create_dirs(Plugin::path() . 'upload/');
    $fichierCible = './' . Plugin::path() . 'upload/LeedMasterPlugin.zip';
    if (copy($lienMasterLeedPlugin, $fichierCible)) {
        echo '<h3>Opérations</h3>';
        echo 'Fichier <a href="' . $lienMasterLeedPlugin . '">' . $lienMasterLeedPlugin . '</a> téléchargé<br /><br />';
        $retour = unzip_leed($fichierCible, './plugins/', false, true);
        if ($retour) {
            echo '<b>Opération réalisée avec succès</b><br />';
        } else {
            echo '<b>Opération réalisée avec des erreurs</b>';
        }
    } else {
        echo 'récupération foireuse du fichier zip';
    }
    // si des plugins sont actifs, les fichiers enabled sont a remplacer par les fichiers disabled
    // parcourir tous les répertoires de plugins
    if ($retour) {
        $dir = './plugins/';
        $files = glob($dir . '*/*.plugin.disabled.php');
        foreach ($files as $value) {
            if (file_exists($value) && file_exists(str_replace('.plugin.disabled.php', '.plugin.enabled.php', $value))) {
                rename($value, str_replace('.plugin.disabled.php', '.plugin.enabled.php', $value));
                echo 'renomage du fichier : ' . $value . ' en ' . str_replace('.plugin.disabled.php', '.plugin.enabled.php', $value) . '<br />';
            }
        }
    }
    echo '<b>Toutes les opérations sont terminées. Vos plugins sont à jour</b>';
}
示例#7
0
<?php

namespace Sb\Controller\Admin;

use Sb\Controller\AppController;
use Cake\Filesystem\Folder;
use Cake\Event\Event;
use Cake\Core\Configure;
use Sb\Libs\Spyc;
use Sb\Libs\Sbc;
require_once Plugin::path('Sb') . 'libs/Yaml/Spyc.php';
require_once Plugin::path('Sb') . 'libs/Superbake/Sbc.php';
class SbController extends AppController
{
    /**
     *
     * @var Sbc object
     */
    public $Sbc;
    public function beforeFilter(Event $event)
    {
        parent::beforeFilter($event);
        // Layout
        if (Configure::read('Sb.Croogo')) {
            $this->layout = 'default_croogo';
        }
    }
    /**
     * Redirection to admin_index()
     */
    public function index()
示例#8
0
 /**
  * Creates the whole view inside of the FakerPress Administration object
  *
  * @since 0.1.0
  *
  * @return void
  */
 public function _action_set_admin_view()
 {
     if (!self::$in_plugin) {
         return;
     }
     // Default Page of the plugin
     $view = (object) array('slug' => Variable::super(INPUT_GET, 'view', 'file', self::$menus[0]->view), 'path' => null);
     // First we check if the file exists in our plugin folder, otherwhise give the user an error
     if (!file_exists(Plugin::path("view/{$view->slug}.php"))) {
         $view->slug = 'error';
     }
     // Define the path for the view we
     $view->path = Plugin::path("view/{$view->slug}.php");
     $view->menu = null;
     // Define Menu when possible
     foreach (self::$menus as &$menu) {
         if ($menu->view !== $view->slug) {
             continue;
         }
         $view->menu = $menu;
     }
     // Set the Admin::$view
     self::$view = apply_filters('fakerpress.view', $view);
     do_action('fakerpress.view.request', self::$view);
     do_action('fakerpress.view.request.' . self::$view->slug, self::$view);
 }
<?php

/*
@name favicon_IOS
@author Cobalt74 <http://www.cobestran.com>
@link http://www.cobestran.com
@licence CC by nc sa http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
@version 1.0.0
@description Le plugin permet d'ajouter une jolie icone sur IOS
*/
Plugin::addLink("apple-touch-icon", Plugin::path() . 'images/apple-touch-icon.png');
示例#10
0
<?php

namespace Garradin;

require_once __DIR__ . '/_inc.php';
$page = Utils::get('_u') ?: 'index.php';
$plugin = new Plugin(Utils::get('_p'));
define('Garradin\\PLUGIN_ROOT', $plugin->path());
define('Garradin\\PLUGIN_URL', WWW_URL . 'admin/plugin/' . $plugin->id() . '/');
define('Garradin\\PLUGIN_QSP', '?');
$tpl->assign('plugin', $plugin->getInfos());
$tpl->assign('plugin_root', PLUGIN_ROOT);
$plugin->call('admin/' . $page);
function leedbrowser_plugin_link(&$events)
{
    foreach ($events as $event) {
        $event->setLink(Plugin::path() . 'browser.php?event=' . $event->getId() . '&link=' . $event->getLink());
    }
}
示例#12
0
<?php

unlink(Plugin::path() . 'constantAPI.php');
function speechcommands_plugin_preference_page()
{
    global $myUser, $_, $conf;
    if (isset($_['section']) && $_['section'] == 'speechcommands') {
        if ($myUser != false) {
            require_once 'SpeechCommand.class.php';
            $command = new SpeechCommand();
            $commands = $command->populate();
            $command->state = 1;
            $command->confidence = '0.8';
            $command = isset($_['id']) ? $command->getById($_['id']) : $command;
            ?>

		<div class="span9 userBloc">
		<legend>Commandes</legend>
		<form action="action.php?action=plugin_speechcommands_save" method="POST">
		<input type="hidden" value="<?php 
            echo $command->id;
            ?>
" name="id"/>
	<table class="table table-striped table-bordered">
		<tr>
			
			<th>Commande</th>
			<th>Confidence</th>
			<th>Action</th>
			<th>Parametre</th>
			<th>Etat</th>
			<th></th>
		</tr>
		<tr class="command">
				
				<td><?php 
            echo $conf->get('VOCAL_ENTITY_NAME') . ', <input type="text" class="input-medium" value="' . $command->command . '" placeholder="ma phrase ici" name="command">';
            ?>
</td>
				<td><input  type="number" step="any" class="input-mini" name="confidence" value="<?php 
            echo $command->confidence;
            ?>
"/></td>
				<td>
					<select name="type" class="type input-small">
						<option <?php 
            echo $command->action == 'gpio' ? 'selected="selected"' : '';
            ?>
 value="gpio">Changer un GPIO (sur le serveur)</option>
						<option <?php 
            echo $command->action == 'server_command' ? 'selected="selected"' : '';
            ?>
 value="server_command">Executer une commande (sur le serveur)</option>
						<option <?php 
            echo $command->action == 'url' ? 'selected="selected"' : '';
            ?>
 value="url">Executer une adresse web (sur le serveur)</option>
						<option <?php 
            echo $command->action == 'client_command' ? 'selected="selected"' : '';
            ?>
 value="client_command">Executer une commande (sur le client)</option>
						<option <?php 
            echo $command->action == 'talk' ? 'selected="selected"' : '';
            ?>
 value="talk">Parler (sur le client)</option>
						<option <?php 
            echo $command->action == 'sound' ? 'selected="selected"' : '';
            ?>
 value="sound">Son (sur le client)</option>
					</select>
				</td>
				<td><input type="text" name="parameter" class="input-medium" value="<?php 
            echo $command->parameter;
            ?>
"/></td>
				<td><input type="checkbox" name="state" <?php 
            echo $command->state == '1' ? 'checked=""checked""' : '';
            ?>
 /></td>
				<td><input class="btn" type="submit" value="Enregistrer"/></td>
			</tr>
	<?php 
            foreach ($commands as $command) {
                ?>
			<tr class="command">
			
				<td><?php 
                echo $conf->get('VOCAL_ENTITY_NAME') . ', ' . $command->command;
                ?>
</td>
				<td><?php 
                echo $command->confidence;
                ?>
</td>
				<td><?php 
                echo $command->action;
                ?>
</td>
				<td><?php 
                echo $command->parameter;
                ?>
</td>
				<td><?php 
                echo $command->state == '1' ? 'Actif' : 'Inactif';
                ?>
</td>
				<td>
					<a class="btn" title="modifier" href="setting.php?section=speechcommands&id=<?php 
                echo $command->id;
                ?>
"><i class="fa fa-edit"></i></a>
					<a class="btn" title="supprimer" href="action.php?action=plugin_speechcommands_delete&id=<?php 
                echo $command->id;
                ?>
"><i class="fa fa-times"></i></a>
				</td>
			</tr>
	<?php 
            }
            ?>
	
	</table>
		</form>
		
		<h2>
			<i class="fa fa-book"></i> Explications</h2>
			<p>Ce plugin permet d'ajouter des actions en fonction de certaines phrases prononcées que vous pouvez choisir et ajouter à l\'infini.</p>
			<p>Notez bien que ce plugin est optimisé pour yana android et qu'en fonction de l'action souhaitée, celle ci s'execute sur le serveur ou sur le client (
			Ceci est spéficié dans l'action à choisir).
			</p>
			<ul>
				<li>Le champ <strong>Commande</strong> représente la phrase a enoncer pour lancer l'action spécifiée</li>
				<li>Le champ <strong>Confidence</strong> représente la sensibilité de reconnaissance de la phrase (chiffre entre 0 et 1) plus cette valeur est basse, plus la phrase sera reconnue facilement</li>
				<li>Le champ <strong>Action</strong> représente le type d'action a effectuer (lancer une url, parler, etc..)</li>
				<li>Le champ <strong>Parametre</strong> représente la valeur de cette action (ex : si l'action est "parler" parametre sera la phrase qui doit être dite). <br><strong>NB :</strong> Pour l'action "gpio" le paramêtre doit être au format : "n°gpio,etat" par exemple pour mettre le gpio 2 à 1 : "2,1".  </li>
				<li>Le champ <strong>Etat</strong> active ou desactive cette commande, vous pouvez ainsi la désactiver temporairement sans la supprimer définitivement</li>
			</ul>
			<h4>Examples</h4>
			<img src="<?php 
            echo Plugin::path();
            ?>
/img/sample.png">
		</div>

<?php 
        } else {
            ?>

		<div id="main" class="wrapper clearfix">
			<article>
					<h3>Vous devez être connecté</h3>
			</article>
		</div>
<?php 
        }
    }
}
示例#14
0
<?php

$key = genererKeyAPI();
$constant = "<?php\ndefine('PLUGIN_ENABLED','1');\ndefine('KEY','" . $key . "');\n?>";
file_put_contents(Plugin::path() . 'constantAPI.php', $constant);
function genererKeyAPI()
{
    $j = 0;
    $passwd = "";
    while ($j != 8) {
        $i = rand(48, 122);
        if ($i > 47 && $i < 58 || $i > 96 && $i < 123 || $i > 65 && $i < 90) {
            $i = chr($i);
            $passwd .= $i;
            $j++;
        }
    }
    return $passwd;
}
示例#15
0
function vocalinfo_plugin_preference_page()
{
    global $myUser, $_, $conf;
    if (isset($_['section']) && $_['section'] == 'preference' && @$_['block'] == 'vocalinfo') {
        if ($myUser != false) {
            Plugin::addjs("/js/woeid.js", true);
            Plugin::addJs('/js/main.js', true);
            $commands = json_decode(file_get_contents(Plugin::path() . '/' . VOCALINFO_COMMAND_FILE), true);
            ?>

		<div class="span9 userBloc">
		<legend>Commandes</legend>
	<table class="table table-striped table-bordered">
		<tr>
			<th></th>
			<th>Commande</th>
			<th>Confidence</th>
		</tr>
	<?php 
            foreach ($commands as $key => $command) {
                ?>
			<tr class="command" data-id="<?php 
                echo $key;
                ?>
"><td><input type="checkbox" <?php 
                echo $command['disabled'] == 'true' ? '' : 'checked="checked"';
                ?>
 class="enabled"></td><td><?php 
                echo $conf->get('VOCAL_ENTITY_NAME') . ' ' . $command['command'];
                ?>
</td><td><input type="text" class="confidence" value="<?php 
                echo $command['confidence'];
                ?>
"/></td></tr>
	<?php 
            }
            ?>
		<tr>
			<td colspan="3"><div class="btn" onclick="plugin_vocalinfo_save();">Enregistrer</div></td>
		</tr>
	</table>
		
		
			<form class="form-inline" action="action.php?action=vocalinfo_plugin_setting" method="POST">
			<legend>Météo</legend>
			    <label>Tapez le nom de votre ville et votre pays</label>
			    <input type="text" class="input-xlarge" name="weather_place" value="<?php 
            echo $conf->get('plugin_vocalinfo_place');
            ?>
" placeholder="Votre ville">	
			    <span id="weather_query" class="btn">Chercher</span>
			    <br/><br/><label>Votre Identifiant WOEID</label>
			    <input type="text" class="input-large" name="woeid" value="<?php 
            echo $conf->get('plugin_vocalinfo_woeid');
            ?>
" placeholder="Votre WOEID">					
			    <button type="submit" class="btn">Sauvegarder</button>
	    </form>
		</div>

<?php 
        } else {
            ?>

		<div id="main" class="wrapper clearfix">
			<article>
					<h3>Vous devez être connecté</h3>
			</article>
		</div>
<?php 
        }
    }
}
function radioRelay_display($room)
{
    global $_;
    $radioRelayManager = new RadioRelay();
    $radioRelays = $radioRelayManager->loadAll(array('room' => $room->getId()));
    if (count($radioRelays) > 0) {
        foreach ($radioRelays as $radioRelay) {
            ?>
					<div class="flatBloc blue-color" style="max-width:30%;display:inline-block;vertical-align:top;">
						<h3><?php 
            echo $radioRelay->getName();
            ?>
</h3>	
						<p><?php 
            echo $radioRelay->getDescription();
            ?>
						</p><ul>
						<li>Code radio : <code><?php 
            echo $radioRelay->getRadioCode();
            ?>
</code></li>
						<li>Type : <span>Interrupteur radio</span></li>
						<li>Emplacement : <span><?php 
            echo $room->getName();
            ?>
</span></li>
					</ul>
				<?php 
            if (fileperms(Plugin::path() . 'radioEmission') != '36333') {
                ?>
<div class="flatBloc pink-color">Attention, les droits vers le fichier <br/> radioEmission sont mal réglés.<br/> Référez vous à <span style="cursor:pointer;text-decoration:underline;" onclick="window.location.href='https://github.com/ldleman/yana-server#installation';">la doc</span> pour les régler</div><?php 
            }
            ?>
					
					<a class="flatBloc" title="Activer le relais" href="action.php?action=radioRelay_change_state&engine=<?php 
            echo $radioRelay->getId();
            ?>
&amp;code=<?php 
            echo $radioRelay->getRadioCode();
            ?>
&amp;state=on"><i class="fa fa-hand-o-up icon-white"></i></a>
					<?php 
            if ($radioRelay->getPulse() == 0) {
                ?>
						<a class="flatBloc" title="Désactiver le relais" href="action.php?action=radioRelay_change_state&engine=<?php 
                echo $radioRelay->getId();
                ?>
&amp;code=<?php 
                echo $radioRelay->getRadioCode();
                ?>
&amp;state=off"><i class="fa fa-hand-o-down icon-white"></i></a>
					<?php 
            }
            ?>
				</div>
				<?php 
        }
    } else {
        if (isset($_['id'])) {
            echo '<div>Aucun relais radio ajouté dans la pièce <code>' . $room->getName() . '</code>, <a href="setting.php?section=radioRelay&amp;room=' . $room->getId() . '">ajouter un relais radio ?</a></div>';
        }
    }
}
示例#17
0
<?php

/**
 * Création du dossier de favicons
 */
$pluginsPath = Plugin::path() . 'favicons/';
if (file_exists($pluginsPath)) {
    $favicons = glob($pluginsPath . '*');
    foreach ($favicons as $favicon) {
        unlink($favicon);
    }
    unlink($pluginsPath);
}