public function create(RESTRequest $request) { $stb_list = $request->getConvertedIdentifiers(); $identifiers = $request->getIdentifiers(); if (empty($stb_list) && !empty($identifiers)) { throw new RESTCommandException('STB not found'); } $event = new SysEvent(); if (empty($identifiers)) { $event->setUserListByMac('all'); } else { $event->setUserListById($stb_list); } if ($request->getData('ttl')) { $event->setTtl($request->getData('ttl')); } switch ($request->getData('event')) { case 'send_msg': if ($request->getData('need_reboot')) { $event->sendMsgAndReboot($request->getData('msg')); } else { $event->sendMsg($request->getData('msg')); } if ($request->getData('auto_hide_timeout')) { $event->setAutoHideTimeout($request->getData('auto_hide_timeout')); } break; case 'send_msg_with_video': $event->sendMsgWithVideo($request->getData('msg'), $request->getData('video')); break; case 'reboot': $event->sendReboot(); break; case 'reload_portal': $event->sendReloadPortal(); break; case 'update_channels': $event->sendUpdateChannels(); break; case 'play_channel': $event->sendPlayChannel($request->getData('channel')); break; case 'play_radio_channel': $event->sendPlayRadioChannel($request->getData('channel')); break; case 'update_image': $event->sendUpdateImage(); break; case 'cut_off': $event->sendCutOff(); break; case 'show_menu': $event->sendShowMenu(); break; default: return false; } return true; }
function cut_off_user($id) { $status = get_user_status($id); $event = new SysEvent(); $event->setUserListById($id); if ($status == 1) { set_user_status($id, 0); $event->sendCutOn(); } else { set_user_status($id, 1); $event->sendCutOff(); } }
} } $event->setUserListById($user_list); $error = sprintf(_('%s events %s sended, %s errors'), count($user_list), $_POST['event'], $error_counter) . "<br>\n" . $error; } } else { $error .= _('File with list is missing') . '<br>'; } } if ($_POST['event'] == 'cut_off') { if (!is_array($user_list)) { $user_list = array($user_list); } $sql = "update users set status=1, last_change_status=NOW() where id in (" . implode(",", $user_list) . ")"; Mysql::getInstance()->query($sql); $event->sendCutOff(); } switch ($_POST['event']) { case 'send_msg': if (@$_POST['need_reboot']) { $event->sendMsgAndReboot(@$_POST['msg']); } else { $event->sendMsg(@$_POST['msg']); } break; case 'send_msg_with_video': $event->sendMsgWithVideo(@$_POST['msg'], @$_POST['video_url']); break; case 'reboot': $event->sendReboot(); break;
public function updateByUids($uids = array(), $data) { if (empty($data)) { return false; } $result = Mysql::getInstance(); $result = $result->in('id', $uids); if (array_key_exists("reboot", $data)) { unset($data['reboot']); $event = new SysEvent(); $event->setUserListById($uids); $event->sendReboot(); } if (!empty($data)) { $result = $result->update('users', $data); } if (array_key_exists("status", $data)) { $event = new SysEvent(); $event->setUserListById($uids); if ($data["status"] == 0) { $event->sendCutOn(); } else { $event->sendCutOff(); } } if (!$result) { return false; } return $this->getByUids($uids); }
private function saveUsersData(&$form, $edit = FALSE) { if (!empty($this->method) && $this->method == 'POST') { $form->handleRequest($this->request); $data = $form->getData(); $action = isset($this->user) ? 'updateUserById' : 'insertUsers'; if (array_key_exists('password', $data) && $edit && empty($data['password'])) { unset($data['password']); } if ($form->isValid()) { $stb_groups = new \StbGroup(); $member = $stb_groups->getMemberByUid(intval($data['id'])); $id = $data['id']; if (empty($member)) { $stb_groups->addMember(array('mac' => \Middleware::normalizeMac($data['mac']), 'uid' => \Middleware::getUidByMac($data['mac']), 'stb_group_id' => $data['group_id'])); } else { $stb_groups->setMember(array('stb_group_id' => $data['group_id']), $member['id']); } $curr_fields = $this->db->getTableFields('users'); $curr_fields = $this->getFieldFromArray($curr_fields, 'Field'); $curr_fields = array_flip($curr_fields); $data = array_intersect_key($data, $curr_fields); $match = array(); if (!empty($data['expire_billing_date']) && preg_match("/(0[1-9]|[12][0-9]|3[01])([- \\/\\.])(0[1-9]|1[012])[- \\/\\.](19|20)\\d\\d/im", $data['expire_billing_date'], $match)) { $data['expire_billing_date'] = implode('-', array_reverse(explode($match[2], $data['expire_billing_date']))); } else { $data['expire_billing_date'] = 0; } if ($data['reseller_id'] == '-') { $data['reseller_id'] = NULL; } if (!empty($this->user) && array_key_exists('status', $this->user) && (int) $this->user['status'] != (int) $data['status']) { $data['last_change_status'] = FALSE; $event = new \SysEvent(); $event->setUserListById($data['id']); if ((int) $data['status'] == 0) { $event->sendCutOn(); } else { $event->sendCutOff(); } } else { unset($data['last_change_status']); } unset($data['version']); $result = call_user_func_array(array($this->db, $action), array($data, $data['id'])); if (!empty($this->postData['tariff_plan_packages'])) { $this->changeUserPlanPackages($id, $this->postData['tariff_plan_packages']); } return TRUE; } } return FALSE; }
public function setStatus($status) { $status = intval(!$status); if ($status == $this->profile['status']) { return; } Mysql::getInstance()->update('users', array('status' => $status), array('id' => $this->id)); $event = new SysEvent(); $event->setUserListById($this->id); if ($status == 1) { $event->sendCutOff(); } else { $event->sendCutOn(); } }