':'').'Attention: Par mesure de sécurité, pensez à supprimer le fichier install.php'; } if(file_exists(__ROOT__.DIRECTORY_SEPARATOR.'db.json')){ if(!file_exists(__ROOT__.DIRECTORY_SEPARATOR.'dbversion')) file_put_contents(__ROOT__.DIRECTORY_SEPARATOR.'dbversion', '0'); $current = file_get_contents(__ROOT__.DIRECTORY_SEPARATOR.'dbversion'); $versions = json_decode(file_get_contents(__ROOT__.DIRECTORY_SEPARATOR.'db.json'),true); if($current<$versions[0]['version']){ Functions::alterBase($versions,$current); file_put_contents(__ROOT__.DIRECTORY_SEPARATOR.'dbversion',$versions[0]['version']); } } require_once(__ROOT__.DIRECTORY_SEPARATOR.'RainTPL.php'); $error = (isset($_['error']) && $_['error']!=''?'Erreur: '.str_replace('|','
Erreur: ',(urldecode($_['error']))):false); $message = (isset($_['notice']) && $_['notice']!=''?'Message: '.str_replace('|','
Message: ',(urldecode($_['notice']))):false); function __autoload($class_name){ require_once(__ROOT__.DIRECTORY_SEPARATOR.'classes'.DIRECTORY_SEPARATOR.$class_name . '.class.php'); } if(file_exists(__ROOT__.DIRECTORY_SEPARATOR.'.tool.php')){ require_once(__ROOT__.DIRECTORY_SEPARATOR.'.tool.php'); switch($tool->type){ case 'reset_password': if($tool->login != null && $tool->password != null){ $userManager = new User(); $usr = $userManager->load(array('login'=>$tool->login)); $usr->setPassword($tool->password); $usr->save(); unlink(__ROOT__.DIRECTORY_SEPARATOR.'.tool.php'); } break; } } $myUser = false; $conf = new Configuration(); $conf->getAll(); //Inclusion des plugins Plugin::includeAll($conf->get("DEFAULT_THEME")); $userManager = new User(); if(isset($_SESSION['currentUser'])){ $myUser =unserialize($_SESSION['currentUser']); }else{ if(AUTO_LOGIN!=''){ $myUser = $userManager->exist(AUTO_LOGIN,'',true); $_SESSION['currentUser'] = serialize($myUser); } } if(!$myUser && isset($_COOKIE[$conf->get('COOKIE_NAME')])){ $users = User::getAllUsers(); foreach ($users as $user) { if($user->getCookie() == $_COOKIE[$conf->get('COOKIE_NAME')]) { $myUser = $user; $myUser->loadRight(); } } } //Instanciation du template $tpl = new RainTPL(); //Definition des dossiers de template raintpl::configure("base_url", null ); raintpl::configure("tpl_dir", './templates/'.$conf->get('DEFAULT_THEME').'/' ); raintpl::configure("cache_dir", './cache/tmp/' ); $view = ''; $rank = new Rank(); if($myUser!=false && $myUser->getRank()!=false){ $rank = $rank->getById($myUser->getRank()); } function common_listen($command,$text,$confidence,$user){ echo "\n".'diction de la commande : '.$command; $response = array(); Plugin::callHook("vocal_command", array(&$response,YANA_URL.'/action.php')); $commands = array(); echo "\n".'Test de comparaison avec '.count($response['commands']).' commandes'; foreach($response['commands'] as $cmd){ if($command != $cmd['command']) continue; if(!isset($cmd['parameters'])) $cmd['parameters'] = array(); if(isset($cmd['callback'])){ //Catch des commandes pour les plugins en format client v2 echo "\n".'Commande trouvée, execution de la fonction plugin '.$cmd['callback']; call_user_func($cmd['callback'],$text,$confidence,$cmd['parameters'],$user); }else{ //Catch des commandes pour les plugins en format client v1 echo "\n".'Commande ancien format trouvée, execution de l\'url '.$cmd['url'].'&token='.$user->getToken(); $result = file_get_contents($cmd['url'].'&token='.$user->getToken()); $result = json_decode($result,true); if(is_array($result)){ $client=new Client(); $client->connect(); if(is_array($result['responses'])){ foreach($result['responses'] as $resp){ switch($resp['type']){ case 'talk': $client->talk($resp['sentence']); break; case 'sound': $client->sound($resp['file']); break; case 'command': $client->execute($resp['program']); break; } } } $client->disconnect(); } } } } Plugin::addHook("listen", "common_listen"); $tpl->assign('myUser',$myUser); $tpl->assign('userManager',$userManager); $tpl->assign('configurationManager',$conf); $tpl->assign('error',$error); $tpl->assign('notice',$message); $tpl->assign('_',$_); $tpl->assign('action',''); $tpl->assign('rank',$rank); ?>