public function delete(RESTRequest $request) { $identifiers = $request->getIdentifiers(); if (!empty($identifiers[0]) && strlen($identifiers[0]) >= 12) { $users_ids = Stb::getUidByMacs($identifiers); } else { $users_ids = Stb::getUidByAccountNumber($identifiers); } if (count($identifiers) == 1 && count($users_ids) == 0) { throw new RESTCommandException('Account not found'); } if (count($identifiers) > 1) { throw new RESTCommandException('Only one identifier allowed'); } $result = true; foreach ($users_ids as $user_id) { $user = User::getInstance($user_id); $info = $user->getAccountInfo(); $subscribe = $user->updateOptionalPackageSubscription(array('subscribe' => array(), 'unsubscribe' => $info['subscribed'])); $result = $result && $subscribe; User::clear(); } return $result; }
protected function getUsersIdsFromIdentifiers($identifiers) { if (!empty($identifiers[0]) && strlen($identifiers[0]) >= 12 && strpos($identifiers[0], ":")) { return Stb::getUidByMacs($identifiers); } else { return Stb::getUidByAccountNumber($identifiers); } }