Пример #1
0
 public function set_current_theme()
 {
     if (!$this->isAjax || $this->method != 'POST' || empty($this->postData['themename'])) {
         $this->app->abort(404, 'Page not found...');
     }
     if ($no_auth = $this->checkAuth()) {
         return $no_auth;
     }
     $data = array();
     $data['action'] = 'manageTheme';
     $error = $this->setlocalization('There is no such skin');
     $data['name'] = $data['title'] = $data['preview'] = '';
     $themes = \Middleware::getThemes();
     if (!empty($themes) && in_array($this->postData['themename'], $themes)) {
         $this->db->setCurrentTheme($this->postData['themename']);
         $error = '';
         $event = new \SysEvent();
         $event->setUserListByMac('online');
         $event->sendReboot();
         $data['name'] = $this->postData['themename'];
         $data['title'] = ucwords(str_replace('_', ' ', $this->postData['themename']));
         $data['preview'] = $this->theme_path . $this->postData['themename'] . "/preview.png";
     }
     $response = $this->generateAjaxResponse($data, $error);
     return new Response(json_encode($response), empty($error) ? 200 : 500);
 }
 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;
 }
Пример #3
0
 /**
  * Update EPG from all EPG setting records.
  *
  * @param bool $force
  * @return string
  */
 public function updateEpg($force = false)
 {
     $this->settings = $this->getSettings();
     $result = '';
     foreach ($this->settings as $setting) {
         $result .= $this->updateEpgBySetting($setting, $force);
         $result .= "\n";
     }
     $event = new SysEvent();
     $event->setUserListByMac('online');
     $event->sendUpdateEpg();
     return $result;
 }
Пример #4
0
    Mysql::getInstance()->delete('events', array('uid' => $uid));
    header("Location: events.php?mac=" . @$_GET['mac']);
    exit;
}
if (!empty($_POST['user_list_type']) && !empty($_POST['event'])) {
    Admin::checkAccess(AdminAccess::ACCESS_CREATE);
    if (@$_POST['need_reboot']) {
        $reboot_after_ok = 1;
    } else {
        $reboot_after_ok = 0;
    }
    $event = new SysEvent();
    $event->setTtl($_POST['ttl']);
    if (@$_POST['user_list_type'] == 'to_all') {
        if ($_POST['event'] == 'send_msg' || $_POST['event'] == 'send_msg_with_video') {
            $event->setUserListByMac('all');
            $user_list = Middleware::getOnlineUsersId();
        } else {
            $event->setUserListByMac('online');
            $user_list = Middleware::getAllUsersId();
        }
    } elseif (@$_POST['user_list_type'] == 'to_single') {
        $event->setUserListByMac(@$_POST['mac']);
        $user_list = Middleware::getUidByMac(@$_POST['mac']);
        $user_list = array($user_list);
    } elseif (@$_POST['user_list_type'] == 'by_pattern') {
        if (@$_POST['pattern'] == 'mag100') {
            $user_list = Middleware::getUidsByPattern(array('hd' => 0));
        } else {
            if (@$_POST['pattern'] == 'mag200') {
                $user_list = Middleware::getUidsByPattern(array('stb_type' => 'MAG200'));
Пример #5
0
 foreach ($macs_arr as $mac) {
     if (preg_match("/[а-я,А-Я]/", $mac)) {
         _log('mac "' . $mac . '", ЛС ' . $ls . ' содержит русские буквы ');
     }
     if (strpos($mac, 'ts') !== false) {
         $mac = str_replace('ts', '', $mac);
         $ch = '00203';
     }
     $mac = Middleware::normalizeMac($mac);
     if (@array_key_exists($mac, $stb_id_map)) {
         $stb = Stb::getByMac($mac);
         $status = $stb['status'];
         if ($status == 1 && $update_status) {
             Mysql::getInstance()->update('users', array('status' => 0, 'last_change_status' => 'NOW()'), array('mac' => $mac));
             $event = new SysEvent();
             $event->setUserListByMac($mac);
             $event->sendCutOn();
             $cut_on++;
         }
         $stb_id = $stb_id_map[$mac];
         $stb_id_arr[] = $stb_id;
         if (array_key_exists($ch, $service_id_map)) {
             if (!@array_key_exists($stb_id, $result)) {
                 $result[$stb_id] = array();
             }
             $result[$stb_id][] = intval($service_id_map[$ch]);
         } else {
             if ($ch == '00494' || $ch == '00674' || $ch == '00675' || $ch == '00725' || $ch == '00726' || $ch == '00746' || $ch == '00747' || $ch == '00754') {
                 $result[$stb_id] = merge_services(!empty($result[$stb_id]) ? $result[$stb_id] : null, get_all_payed_ch_discovery());
                 $result[$stb_id] = merge_services(!empty($result[$stb_id]) ? $result[$stb_id] : null, get_all_hd_channels());
                 if ($ch == '00674' || $ch == '00675' || $ch == '00725' || $ch == '00726' || $ch == '00746' || $ch == '00747') {
<?php

include "../common.php";
$all_channels = Mysql::getInstance()->from('itv')->where(array('status' => 1))->get()->all('id');
$all_channels = System::base64_encode(serialize($all_channels));
$result = Mysql::getInstance()->query("insert into itv_subscription (uid, sub_ch, addtime) (select id, '" . $all_channels . "' as sub_ch, now() from users) on duplicate key update sub_ch=VALUES(sub_ch)")->result();
if ($result) {
    $event = new SysEvent();
    $event->setUserListByMac('all');
    $event->sendUpdateSubscription();
}