Ejemplo n.º 1
0
 function error()
 {
     //require 'controller/prompt.php';
     $controller = new Prompt();
     $controller->index();
     die;
     //        return false;
 }
Ejemplo n.º 2
0
 /**
  * 保存账号
  */
 public function action_save()
 {
     $this->_autoRender = FALSE;
     $givenName = Arr::get($_POST, 'given_name', '');
     $name = Arr::get($_POST, 'name', '');
     $password = Arr::get($_POST, 'password', '');
     $email = Arr::get($_POST, 'email', '');
     $mobile = Arr::get($_POST, 'mobile', '');
     $phone = Arr::get($_POST, 'phone', '');
     if ($givenName == '') {
         return Prompt::jsonWarning('姓名不能为空');
     }
     if ($name == '') {
         return Prompt::jsonWarning('用户名不能为空');
     }
     if ($password == '') {
         return Prompt::jsonWarning('密码不能为空');
     }
     if ($email == '') {
         return Prompt::jsonWarning('邮箱不能为空');
     }
     $values = array('given_name' => $givenName, 'name' => $name, 'password' => md5($password), 'email' => $email, 'mobile' => $mobile, 'phone' => $phone);
     try {
         $result = Model::factory('Account')->create($values)->getArray();
         if (!$result[0]) {
             //TODO 日志
             return Prompt::jsonError('添加账号失败');
         }
     } catch (Exception $e) {
         //TODO 日志
         return Prompt::jsonError('添加账号失败');
     }
     //TODO 日志
     return Prompt::jsonSuccess('添加账号成功', URL::site('account/add'));
 }
Ejemplo n.º 3
0
 public function togglepower()
 {
     $state = $this->state->Get($this->StateStorage);
     $toggle = false;
     if (strpos($this->triggered['keywords'], '9c6651f707ba0cf8f8dcbe9329ff8cb8') !== FALSE) {
         if ($state['power'] == 1) {
             $toggle = 'OFF';
             $state['power'] = 0;
         } else {
             $toggle = 'ON';
             $state['power'] = 1;
         }
     }
     if (Prompt::MatchAnswer(array('on'), $this->triggered['keywords']) && $state['power'] == 0 || $toggle == 'ON') {
         shell_exec("sudo irsend SEND_ONCE " . $this->Device . " KEY_POWER KEY_POWER");
         if ($this->speak) {
             TTS::Speak("Turning TV On");
         }
         $state['power'] = 1;
     } elseif (Prompt::MatchAnswer(array('off'), $this->triggered['keywords']) && $state['power'] == 1 || $toggle == 'OFF') {
         if ($this->speak) {
             TTS::Speak("Turning TV Off");
         }
         $state['power'] = 0;
         shell_exec("sudo irsend SEND_ONCE " . $this->Device . " KEY_POWER KEY_POWER");
     }
     //Add toggle capability
     $this->state->Set($this->StateStorage, $state);
 }
Ejemplo n.º 4
0
 /**
  * 添加保存
  */
 public function action_save()
 {
     $this->_autoRender = FALSE;
     $name = Arr::get($_POST, 'name', '');
     $describe = Arr::get($_POST, 'describe', '');
     if (!$name) {
         return Prompt::jsonWarning('名称不能为空');
     }
     if (!$describe) {
         return Prompt::jsonWarning('描述不能为空');
     }
     $values = array('name' => $name, 'describe' => $describe, 'account_id' => 0);
     try {
         $result = Model::factory('Project')->create($values)->getArray();
         if (!$result) {
             //TODO 日志
             return Prompt::jsonError('添加项目失败');
         }
     } catch (Exception $e) {
         //TODO 日志
         return Prompt::jsonError('添加项目失败');
     }
     //TODO 日志
     return Prompt::jsonSuccess('添加项目成功', URL::site('project/add'));
 }
Ejemplo n.º 5
0
 public function Avy($parameters, $display_process = true)
 {
     $this->GetFunctionFiles();
     if ($parameters != '__DASHBOARD__') {
         $parameters = strtolower($parameters);
         if (Prompt::Check()) {
             Prompt::Process($parameters);
             return;
         }
         if ($display_process) {
             echo "Avy-process:'" . $parameters . "'\n";
         }
         $Triggers = Triggers::getInstance();
         $findCommand = $Triggers->FindFunction($parameters);
         if (count($findCommand) > 0) {
             // Get top results
             if (count($findCommand) == 1) {
                 foreach ($findCommand as $key => $data) {
                     //var_dump($data);
                     $class = "";
                     eval('$class = new ' . $data['class'] . '();');
                     $function = $data['function'];
                     $class->setTriggered(array("keywords" => $parameters, "trigger" => $data));
                     $class->{$function}();
                     //$class = call_user_func($data[0]."::". $data[1], array("keywords"=>$parameters, "trigger"=>$data));
                 }
                 //$class = call_user_func();
             } else {
                 //Prompt which function to use
                 //Add to session
             }
         }
     }
 }
Ejemplo n.º 6
0
 public function checkAccess($module, $action, $deny = false, $group = false)
 {
     if ($this->auth->isLogged()) {
         $login = $this->auth->getLogin();
         // MLogin object
         $isAdmin = $login->isAdmin();
         // Is administrator?
         $rights = $login->rights[$module];
         // user rights
         if (!$rights) {
             $login->setRights($this->getRights($login->id));
         }
         $ok = @in_array($action, $login->rights[$module]);
         if (!$ok && $group) {
             $groups = $this->getGroupsAllowed($module, $action);
             $ok = sizeof(array_intersect($groups, $login->groups)) > 0;
         }
     }
     if (!$ok && $deny) {
         $msg = _M('Access Denied') . "<br><br>\n" . '<center><big><i><font color=red>' . _M('Transaction: ') . "{$transaction}</font></i></big></center><br><br>\n" . _M('Please inform a valid login/password to access this content.') . "<br>";
         $users = $this->getUsersAllowed($module, $action);
         if ($users) {
             $msg .= "<br><br>\n" . _M('Users with access rights') . ":<ul><li>" . implode('<li>', $users) . '</ul>';
         }
         $go = $this->manager->history->back('action');
         $error = Prompt::error($msg, $go, $caption, '');
         $error->addButton(_M('   Login   '), $this->manager->getActionURL($this->manager->getConf('login.module'), 'login', null, array('return_to' => urlencode($this->manager->history->top()))), '');
         $this->manager->prompt($error, $deny);
         //$this->manager->error($msg, $go);
     }
     return $ok;
 }
Ejemplo n.º 7
0
 /**
  * start login
  */
 public function action_login()
 {
     $username = Arr::get($_POST, 'username', '');
     $password = Arr::get($_POST, 'password', '');
     if (!$username || !$password) {
         return Prompt::warningView('用户名密码不能为空', 'author');
     }
     try {
         $account = Model::factory('Account')->getAccountByName($username)->getArray();
         if (!$account[0]) {
             //日志
             return Prompt::errorView('用户名不存在', 'author');
         }
     } catch (Exception $e) {
         //日志
         echo $e->getMessage();
         exit;
         return Prompt::errorView('登录失败', 'author');
     }
     if ($account[0]['password'] && $account[0]['password'] === md5($password)) {
         //保存 seesion 信息
         Session::instance()->set('author', $account[0]);
         return Controller::redirect('/');
     } else {
         return Prompt::errorView('登录失败', 'author');
     }
 }
Ejemplo n.º 8
0
 public function __construct($node, $parent)
 {
     parent::__construct($node, $parent);
     self::$possible_attributes = array_merge(parent::$possible_attributes, self::$possible_attributes);
     self::$required_attributes = array_merge(parent::$required_attributes, self::$required_attributes);
     self::$possible_children = array_merge(parent::$possible_children, self::$possible_children);
     self::$required_children = array_merge(parent::$required_children, self::$required_children);
 }
Ejemplo n.º 9
0
 public function run()
 {
     // echo "sign up model";
     $user = $this->propareVO();
     // if Email not exists, continue to create
     if (!UserDAOImpl::findByEmail($user->getEmail())) {
         $result = UserDAOImpl::doCreate($user);
         // create user in db
         if ($result) {
             // send mail
             $iEmailService = new EmailService();
             $iEmailService->setReceiver($user);
             $msg = $iEmailService->sendEmail();
             // header('location: ../login');
         } else {
             $msg = SQL_EXCEPTION_CREATE_USER;
             // show error prompt
         }
     } else {
         $msg = SIGN_UP_DUPLICATE_REGISTER;
     }
     $controller = new Prompt();
     $controller->index($msg);
 }
Ejemplo n.º 10
0
 /**
  * 添加保存
  */
 public function action_save()
 {
     $this->_autoRender = FALSE;
     $name = Arr::get($_POST, 'name', '');
     if ($name == '') {
         Prompt::jsonWarning('角色名称不能为空!');
     }
     $values = array('name' => $name);
     try {
         $result = Model::factory('Role')->create($values)->getArray();
         if (!$result) {
             //日志
             Prompt::jsonError('添加角色失败');
         }
     } catch (Exception $e) {
         //日志
         Logger::factory('run_log')->write('添加角色失败 ' . $e->getMessage())->execute();
         Prompt::jsonError('添加角色失败');
     }
     //日志
     Prompt::jsonSuccess('添加角色成功', URL::site('role/add'));
 }
Ejemplo n.º 11
0
 public function prompt_read_email_subject($message)
 {
     if (Prompt::MatchAnswer(Prompt::$Yes, $message)) {
         echo "Prompt Response: Yes\n";
         $responses = array("Okay. Downloading emails.", "Sure thing. Give me a second to fetch your emails", "Please wait while I load your emails", "Sure. Downloading your emails now.");
         if ($this->speak) {
             TTS::Speak($responses);
         }
         $this->read_new_email_subject();
         Prompt::Clear();
         shell_exec("sudo /etc/init.d/SAM stopquitely");
     } elseif (Prompt::MatchAnswer(Prompt::$No, $message)) {
         //$Prompt = Prompt::Get();
         echo "Prompt Response: No\n";
         $responses = array("Okay", "Dont forget to read them later", "Ok just call me if you need anything else", "Great! i cant read properly anyway");
         if ($this->speak) {
             TTS::Speak($responses);
         }
         Prompt::Clear();
         shell_exec("sudo /etc/init.d/SAM listenquitely");
     } else {
         echo "Not the answer im looking for!";
     }
 }
Ejemplo n.º 12
0
 /**
  * 添加保存
  */
 public function action_save()
 {
     $name = Arr::get($_POST, 'name', '');
     $module = Arr::get($_POST, 'module', '');
     if ($name == '') {
         return Prompt::jsonWarning('名称不能为空');
     }
     if ($module == '') {
         return Prompt::jsonWarning('模块不能为空');
     }
     $values = array('name' => $name, 'module' => $module);
     try {
         $result = Model::factory('module')->create($values)->getArray();
         if (!$result) {
             //Todo 日志
             return Prompt::jsonError('添加模块失败');
         }
     } catch (Exception $e) {
         //TODO 日志
         return Prompt::jsonError('添加模块失败');
     }
     //TODO 日志
     return Prompt::jsonSuccess('添加模块成功', URL::site('module/add'));
 }
Ejemplo n.º 13
0
 /**
  * 添加保存
  */
 public function action_save()
 {
     $name = Arr::get($_POST, 'name', '');
     $type = Arr::get($_POST, 'type', '');
     $parentId = Arr::get($_POST, 'parent_id', 0);
     $controller = Arr::get($_POST, 'controller', '');
     $action = Arr::get($_POST, 'action', '');
     $icon = Arr::get($_POST, 'icon', '');
     $isDisplay = Arr::get($_POST, 'is_display', 1);
     $sequence = Arr::get($_POST, 'sequence', 0);
     if (!$name) {
         return Prompt::jsonWarning('权限名称不能为空');
     }
     if ($type != 'menu' && $type != 'navigator' && $type != 'controller') {
         return Prompt::jsonWarning('类型选择错误' . $type);
     }
     //导航-- 没有上级,控制器,动作都为空
     if ($type == 'navigator') {
         if ($parentId != 0) {
             return Prompt::jsonWarning('导航不用选择上级');
         }
         if ($controller) {
             return Prompt::jsonWarning('导航没有控制器');
         }
         if ($action) {
             return Prompt::jsonWarning('导航没有动作');
         }
     }
     //菜单 -- 有上级,无控制器,方法
     if ($type == 'menu') {
         if ($controller) {
             return Prompt::jsonWarning('菜单没有控制器');
         }
         if ($action) {
             return Prompt::jsonWarning('菜单没有动作');
         }
     }
     //控制器。必须有上级,控制器,方法
     if ($type == 'controller') {
         if ($parentId == 0) {
             return Prompt::jsonWarning('控制器上级必须是菜单');
         }
         if (!$controller) {
             return Prompt::jsonWarning('控制器必须填写');
         }
         if (!$action) {
             return Prompt::jsonWarning('控制器必须有动作');
         }
     }
     if ($sequence === '') {
         $sequence = 0;
     }
     if ($sequence && !is_numeric($sequence)) {
         return Prompt::jsonWarning('排序必须是数字');
     }
     $values = array('name' => $name, 'type' => $type, 'parent_id' => $parentId, 'controller' => $controller, 'action' => $action, 'icon' => $icon, 'is_display' => $isDisplay, 'sequence' => $sequence);
     try {
         $result = Model::factory('Privilege')->create($values)->getArray();
         if (!$result) {
             //TODO 日志
             return Prompt::jsonError('添加权限失败');
         }
     } catch (Exception $e) {
         //TODO 日志
         echo $e->getMessage();
         exit;
         return Prompt::jsonError('添加权限失败' . $e->getMessage());
     }
     //TODO 日志
     return Prompt::jsonSuccess('添加权限成功', URL::site('privilege/add'));
 }
Ejemplo n.º 14
0
 /**
  * Power Subwoofer
  */
 public function power_subwoofer()
 {
     $state = $this->state->Get('AVR');
     $toggle = false;
     if (strpos($this->triggered['keywords'], 'ffb8c7c5755626f0d56076c0cb60292a') !== FALSE) {
         if ($state['subwoofer'] == 1) {
             $toggle = 'OFF';
         } else {
             $toggle = 'ON';
         }
     }
     if (Prompt::MatchAnswer(array('on'), $this->triggered['keywords']) && $state['subwoofer'] == 0 || $toggle == 'ON') {
         if ($this->speak) {
             TTS::Speak("Turning Subwoofer On");
         }
         $state['subwoofer'] = 1;
     } elseif (Prompt::MatchAnswer(array('off'), $this->triggered['keywords']) && $state['subwoofer'] == 1 || $toggle == 'OFF') {
         if ($this->speak) {
             TTS::Speak("Turning Subwoofer Off");
         }
         $state['subwoofer'] = 0;
     }
     //var_dump($this->triggered['keywords']);
     $this->state->Set('AVR', $state);
 }
Ejemplo n.º 15
0
 /**
  * 保存任务
  */
 public function action_save()
 {
     Prompt::jsonSuccess('任务添加成功', URL::site('task/add'));
 }