本文整理汇总了PHP中jeedom::isCapable方法的典型用法代码示例。如果您正苦于以下问题:PHP jeedom::isCapable方法的具体用法?PHP jeedom::isCapable怎么用?PHP jeedom::isCapable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jeedom
的用法示例。
在下文中一共展示了jeedom::isCapable方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
<?php
if (jeedom::getHardwareName() == 'Jeedomboard' && jeedom::isCapable('sudo')) {
echo '**************Mise à jour du système (peut etre très long)**************';
echo shell_exec('sudo touch /var/log/auth.log');
echo 'Mise à jour des sources';
echo shell_exec('sudo apt-get update');
echo "OK\n";
echo 'Mise à jour des paquets';
echo shell_exec('sudo apt-get dist-upgrade');
echo "OK\n";
echo 'Redemarrage fail2ban';
echo shell_exec('sudo service fail2ban restart');
echo "OK\n";
}
示例2: cron
$cron->save();
$cron = cron::byClassAndFunction('plugin', 'cron30');
if (!is_object($cron)) {
echo "Création de plugin::cron30\n";
$cron = new cron();
}
$cron->setClass('plugin');
$cron->setFunction('cron30');
$cron->setSchedule('*/30 * * * * *');
$cron->setTimeout(60);
$cron->save();
$dynamic_apache_path = dirname(__FILE__) . '/../core/config/apache_jeedom_dynamic_rules';
if (!file_exists($dynamic_apache_path)) {
touch($dynamic_apache_path);
}
if (jeedom::isCapable('sudo')) {
if (!file_exists('/var/log/auth.log')) {
exec('sudo touch /var/log/auth.log');
exec('sudo service fail2ban restart');
}
exec('sudo service cron restart');
}
cache::deleteBySearch('widgetHtml');
cache::deleteBySearch('cmdWidgetdashboard');
cache::deleteBySearch('cmdWidgetmobile');
cache::deleteBySearch('scenarioHtmldashboard');
config::save('hardware_name', '');
} catch (Exception $e) {
echo "Error : ";
echo $e->getMessage();
}
示例3: cron
public static function cron()
{
if (config::byKey('market::allowDNS') == 1 && !network::test('external', false, 120)) {
network::dns_start();
}
if (config::byKey('network::disableMangement') == 1) {
return;
}
if (!jeedom::isCapable('sudo')) {
return;
}
try {
$gws = self::checkGw();
if (count($gws) == 0) {
log::add('network', 'error', __('Aucune interface réseau trouvée, je redemarre tous les réseaux', __FILE__));
exec('sudo service networking restart');
return;
}
foreach ($gws as $iface => $gw) {
if ($gw['ping'] != 'ok') {
if (strpos($iface, 'tun') !== false) {
continue;
}
if (strpos($iface, 'br0') !== false) {
continue;
}
log::add('network', 'error', __('La passerelle distante de l\'interface ', __FILE__) . $iface . __(' est injoignable, je la redemarre pour essayer de corriger', __FILE__));
exec('sudo ifdown ' . $iface);
sleep(5);
exec('sudo ifup --force ' . $iface);
}
}
} catch (Exception $e) {
}
}
示例4: updateSystem
public static function updateSystem()
{
if (config::byKey('update::autoSystem') == 1 && jeedom::isCapable('systemUpdate') && jeedom::isCapable('sudo')) {
$output = array();
$return_val = -1;
log::remove('system_update');
exec('sudo apt-get -y update >> ' . log::getPathToLog('system_update') . ' 2>&1', $output, $return_val);
if ($return_val != 0) {
log::add('update', 'error', __('Echec de la mise à jour des dépot, veuillez consulter la log system_update', __FILE__));
return;
}
exec('sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" dist-upgrade >> ' . log::getPathToLog('system_update') . ' 2>&1', $output, $return_val);
if ($return_val != 0) {
log::add('update', 'error', __('Echec de la mise à jour des paquets, veuillez consulter la log system_update', __FILE__));
return;
}
exec('sudo apt-get -y autoremove >> ' . log::getPathToLog('system_update') . ' 2>&1', $output, $return_val);
if ($return_val != 0) {
log::add('update', 'error', __('Echec su nettoyage des paquets, veuillez consulter la log system_update', __FILE__));
return;
}
exec('sudo service cron restart');
}
}
示例5:
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<legend>{{Gestion avancée}}</legend>
<div class="form-group expertModeVisible has-error">
<label class="col-xs-4 control-label">{{Désactiver la gestion du réseaux par Jeedom}}</label>
<div class="col-xs-8">
<input type="checkbox" class="configKey bootstrapSwitch" data-l1key="network::disableMangement" />
</div>
</div>
<?php
if (!jeedom::isCapable('wifi') || !jeedom::isCapable('ipfix')) {
echo '<div class="alert alert-warning">{{Fonctionalité non disponible sur votre système}}</div>';
} else {
if (!network::canManageNetwork()) {
echo '<div class="alert alert-warning">{{Jeedom ne peut gérer le réseau veuillez vérifier si}} : <br/>';
echo '- {{ifenslave n\'est pas installé, pour l\'installer, faire en ssh : sudo apt-get install ifenslave-2.6}} <br/>';
echo '- {{le module bonding n\'est pas chargé, en ssh regarder si il y a bien "bonding" dans /etc/modules sinon l\'ajouter à la fin et redémarrer}}';
echo '</div>';
} else {
?>
<div class="form-group">
<label class="col-xs-4 control-label">{{Adresse MAC}}</label>
<div class="col-xs-8">
<span class="label label-default" style="font-size:1em;"><?php
echo network::getMac('bond0');
?>