function arduidom_update() { arduidom::stopdaemon(); $MigrationCheck = config::byKey('db_version', 'arduidom', 0); if ($MigrationCheck < 108) { arduidom::MigrateDatas(); arduidom::start(); } if ($MigrationCheck < 145) { arduidom::stopdaemon(); $daemon_path = realpath(dirname(__FILE__) . '/../../ressources'); log::add('arduidom', 'info', "Suppression de arduidom1.py devenu inutile => " . unlink($daemon_path . "/arduidom1.py")); log::add('arduidom', 'info', "Suppression de arduidom2.py devenu inutile => " . unlink($daemon_path . "/arduidom2.py")); log::add('arduidom', 'info', "Suppression de arduidom3.py devenu inutile => " . unlink($daemon_path . "/arduidom3.py")); log::add('arduidom', 'info', "Suppression de arduidom4.py devenu inutile => " . unlink($daemon_path . "/arduidom4.py")); log::add('arduidom', 'info', "Suppression de arduidom5.py devenu inutile => " . unlink($daemon_path . "/arduidom5.py")); log::add('arduidom', 'info', "Suppression de arduidom6.py devenu inutile => " . unlink($daemon_path . "/arduidom6.py")); log::add('arduidom', 'info', "Suppression de arduidom7.py devenu inutile => " . unlink($daemon_path . "/arduidom7.py")); log::add('arduidom', 'info', "Suppression de arduidom8.py devenu inutile => " . unlink($daemon_path . "/arduidom8.py")); config::save('db_version', 145, 'arduidom'); // Inscrit la version de migration dans la config arduidom::start(); } arduidom::startdaemon(); $cron = cron::byClassAndFunction('arduidom', 'checkdaemon'); if (!is_object($cron)) { $cron = new cron(); $cron->setClass('arduidom'); $cron->setFunction('checkdaemon'); $cron->setEnable(1); $cron->setDeamon(0); $cron->setSchedule('* * * * *'); $cron->save(); } $cron->stop(); @exec("sudo usermod -G dialout www-data"); }
} } if (init('action') == 'checkDaemon' . $i) { if (arduidom::checkdaemon($i) == 1) { ajax::success(); } else { ajax::error("Le démon " . $i . " ne fonctionne pas !"); } } if (init('action') == 'FlashArduino' . $i) { log::add('arduidom', 'info', 'FlashArduino STEP 1: Exec avrdude and wait finish...'); $chk = arduidom::FlashArduino($i); log::add('arduidom', 'info', 'FlashArduino STEP 2: avrdude finished.' . $chk); sleep(1); log::add('arduidom', 'info', 'FlashArduino STEP 3: Start Daemon ' . $i); $chk = arduidom::startdaemon($i); if ($chk == 1) { log::add('arduidom', 'info', 'FlashArduino STEP 4: Daemon ' . $i . ' started' . $chk); ajax::success("Le démon " . $i . " a correctement démarré apres le televersement de l'arduino !"); } else { log::add('arduidom', 'info', 'FlashArduino STEP 4: Daemon ' . $i . ' NOT started after flash' . $chk); ajax::error("Le démon " . $i . " n'a pas démarré apres le televersement de l'arduino !"); } } if (init('action') == 'CompileArduino' . $i) { log::add('arduidom', 'info', 'CompileArduino STEP 1: Exec ino build and wait finish...'); $chk = arduidom::CompileArduino($i); log::add('arduidom', 'info', 'CompileArduino STEP 2: ino build finished.' . $chk); sleep(1); //log::add('arduidom', 'info', 'SETP2: Start Daemon ' . $i); //$chk = arduidom::startdaemon($i);