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; }
} 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; case 'reload_portal': $event->sendReloadPortal(); break; case 'update_channels': $event->sendUpdateChannels();
Admin::checkAccess(AdminAccess::ACCESS_VIEW); //echo '<pre>'; //print_r($_FILES); //print_r($_SESSION); //print_r($_POST); //echo '</pre>'; $search = @$_GET['search']; $letter = @$_GET['letter']; if (!empty($_POST['change_tariff_plan'])) { Admin::checkAccess(AdminAccess::ACCESS_EDIT); Mysql::getInstance()->update('users', array('tariff_plan_id' => intval($_POST['tariff_plan_id'])), array('id' => intval($_GET['id']))); if (Config::get('enable_tariff_plans')) { $event = new SysEvent(); $event->setUserListById(array(intval($_GET['id']))); $user = User::getInstance((int) $_GET['id']); $event->sendMsgAndReboot($user->getLocalizedText('Tariff plan is changed, please restart your STB')); } header("Location: profile.php?id=" . @$_GET['id']); exit; } if (@$_POST['save']) { Admin::checkAccess(AdminAccess::ACCESS_EDIT); $stb_groups = new StbGroup(); $member = $stb_groups->getMemberByUid(intval($_GET['id'])); if (empty($member)) { $stb_groups->addMember(array('mac' => Middleware::normalizeMac($_POST['mac']), 'uid' => Middleware::getUidByMac($_POST['mac']), 'stb_group_id' => $_POST['group_id'])); } else { $stb_groups->setMember(array('stb_group_id' => $_POST['group_id']), $member['id']); } header("Location: profile.php?id=" . @$_GET['id']); exit;
public function unsubscribeFromPackage($package_id, $packages = null, $force_no_check_billing = false) { if ($packages === null) { $packages = $this->getPackages(); } $filtered_packages = array_filter($packages, function ($item) use($package_id) { return $package_id == $item['package_id'] && $item['optional'] == 1 && $item['subscribed']; }); if (empty($filtered_packages)) { return false; } if (!$force_no_check_billing) { $ext_package_id = Mysql::getInstance()->from('services_package')->where(array('id' => $package_id))->get()->first('external_id'); $on_unsubscribe_result = OssWrapper::getWrapper()->unsubscribeFromPackage($ext_package_id); var_dump($on_unsubscribe_result); if ($on_unsubscribe_result === true) { Log::writePackageSubscribeLog($this->id, $package_id, 0); return Mysql::getInstance()->delete('user_package_subscription', array('user_id' => $this->id, 'package_id' => $package_id))->result(); } else { return false; } } $result = Mysql::getInstance()->delete('user_package_subscription', array('user_id' => $this->id, 'package_id' => $package_id))->result(); Log::writePackageSubscribeLog($this->id, $package_id, 0); $event = new SysEvent(); $event->setUserListById($this->id); $event->setTtl(Config::get('watchdog_timeout') * 2); $event->sendMsgAndReboot($this->getLocalizedText('Services are updated according to the subscription. The STB will be rebooted.')); return $result; }