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;
 }
Beispiel #2
0
     } 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();
Beispiel #3
0
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;
 }