Knihovna FFmpeg byla vydána ve verzi 8.0 „Huffman“. Přibyla mj. podpora hardwarově akcelerovaného kódování s využitím API Vulcan, viz seznam změn.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2024 (pdf). V loňském roce NÚKIB evidoval dosud nejvíce kybernetických bezpečnostních incidentů s celkovým počtem 268. Oproti roku 2023 se však jedná pouze o drobný nárůst a závažnost dopadů evidovaných incidentů klesá již třetím rokem v řadě. V minulém roce NÚKIB evidoval pouze jeden velmi významný incident a významných incidentů bylo zaznamenáno 18, což oproti roku 2023 představuje pokles o více než polovinu.
Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie). Servo mimo jiné nově zvládne animované obrázky APNG a WebP.
Na chytré telefony a počítačové tablety v Rusku bude od začátku příštího měsíce povinné předinstalovávat státem podporovanou komunikační aplikaci MAX, která konkuruje aplikaci WhatsApp americké společnosti Meta Platforms. Oznámila to dnes ruská vláda. Ta by podle kritiků mohla aplikaci MAX používat ke sledování uživatelů. Ruská státní média obvinění ze špehování pomocí aplikace MAX popírají. Tvrdí, že MAX má méně oprávnění k přístupu k údajům o uživatelích než konkurenční aplikace WhatsApp a Telegram.
Společnost PINE64 stojící za telefony PinePhone nebo notebooky Pinebook publikovala na svém blogu srpnový souhrn novinek. Kvůli nedostatečnému zájmu byla ukončena výroba telefonů PinePhone Pro.
Po pěti měsících vývoje byla vydána nová verze 0.15.1 programovacího jazyka Zig (GitHub, Wikipedie). Verze 0.15.0 byla přeskočena. Přispělo 162 vývojářů. Přehled novinek v poznámkách k vydání.
Před sedmi lety společnost Valve představila fork projektu Wine s názvem Proton umožňující v Linuxu přímo ze Steamu hrát počítačové hry do té doby běžící pouze ve Windows. Aktuální přehled podporovaných her na stránkách ProtonDB
Společnost DuckDuckGo rozšířila svůj AI chat Duck.ai o GPT-5 mini (𝕏). Duck.ai umožňuje anonymní přístup bez vytváření účtů k několika modelům umělé inteligence. Aktuálně k GPT-4o mini, GPT-5 mini, Llama 4 Scout, Claude Haiku 3.5 a Mistral Small 3.
Marek Tóth v příspěvku DOM-based Extension Clickjacking: Data ve správcích hesel v ohrožení na svém blogu popsal novou clickjacking techniku s několika variantami útoků a otestoval ji proti 11 správcům hesel. Výsledkem bylo nalezení několika 0-day zranitelností, které mohly ovlivnit uložená data desítek milionů uživatelů. Jedno kliknutí kdekoliv na webové stránce kontrolované útočníkem umožňovalo ukrást uživatelská data ze
… více »Na dnešní akci Made by Google 2025 (YouTube) byly představeny telefony Pixel 10 s novým čipem Google Tensor G5 a novými AI funkcemi, hodinky Pixel Watch 4 a sluchátka Pixel Buds 2a.
Ahoj, trochu zápasím s dotazem na výpis práv uživatele ke každému presenteru a jeho view.
Mám tyto 4 tabulky:
system_roles - Obsahuje skupinu práv uživatelů (admin, uzivatel, technik, redaktor, personalista ...)
id | name 1, admin 2, user 3, technician ...
system_modules - Jsou názvy presenterů (Homepage, Users, Helpdesk, Property ...)
id | name 1, homepage 2, users 3, helpdesk ...
system_modules_views - Jsou akce jednotlivých presenterů (View, Edit, Add, Export, ShowTree ...)
id | module_id | name | description 1, 1, show, Zobrazit hlavni stranku 2, 2, showList, Zobrazit seznam uzivatelu 3, 2, show, Zobrazit detail uzivatele 4, 2, edit, Editovat uzivatele 5, 2, delete, Smazat uzivatele 6, 3, add, Pridat dotaz 7, 3, showList, Zobrazit seznam vsech dotazu ...
system_acl - Je tabulka, která určuje zda role má, nebo nemá právo pro daný presenter a jeho view
id | role_id | module_id | view_id | access 1, 2, 1, 1, 1 # uživatel ve skupině users může zobrazit hlavní stránku 2, 2, 3, 6, 1 # uživatel ve skupině users může přidat dotaz do helpdesku 3, 2, 3, 7, 0 # uživatel ve skupině users nemůže zobrazit seznam všech dotazů v helpdesku ...
A teď o co mi jde...
Potřeboval bych pro konkrétní roli (WHERE role_id = x) vypsat všechny moduly z tabulky system_modules a jejich views (system_modules_views) a k nim joinout tabulku system_acl tak, aby pokud nebude pro daný presenter a jeho view v acl tabulce záznam se přesto ukázal řádek ač s NULL hodnotami. V mé aplikaci kontroluji, zda záznam v tabulce system_acl je a zda se access == 1 - tím uživatel má pro danou akci právo. Pokud v tabulce záznam není, nebo se access == 0, tak je přístup zamítnut. Teď ale potřebuji všechna tato práva vypsat na stránku jako přehled (a k nim pak přibude tlačítko buď Povolit/Zakázat podle toho, čemu se bude rovnat access hodnota - ta bude buď 1, 0 nebo NULL).
Pokud vezmu jako příklad má ukázková data shora, tak pro roli user (ID = 2) by měl výsledek vypadat následovně:
module_id | module_name | view_id | view_name | view_description | access 1, homepage, 1, show, Zobrazit hlavni stranku, 1 2, users, 2, showList, Zobrazit seznam uzivatelu, NULL # tento zaznam v system_acl vubec neni, proto NULL ...
Doufám, že je to vůbec možné takto uzpůsobit. Z části mi to už funguje, ale jen pro některé role
Nebo se vůbec nebráním jinému řešení, pokud je toto složité...
Děkuji všem za pomoc.
Řešení dotazu:
Left join používám a zkoušel jsem to s ním, ale nejde mi to tak, jak bych si představoval. Přikládám svůj dotaz:
$this->database->query('SELECT system_modules.name AS module_name, system_modules.header AS module_header, system_modules_views.name AS view_name, system_modules_views.header AS view_header, system_acl.id, system_acl.role_id, system_modules.id AS module_id, system_modules_views.id AS view_id, IFNULL(system_acl.allowed, 0) AS allowed, IFNULL(system_acl.editable, 1) AS editable FROM system_modules JOIN system_modules_views ON system_modules_views.module_id = system_modules.id LEFT JOIN system_acl ON system_modules.id = system_acl.module_id AND system_modules_views.id = system_acl.view_id WHERE system_acl.role_id = %i OR system_acl.role_id IS NULL ORDER BY system_modules_views.id ASC', $role_id)->fetchAll();V tabulce system_acl mám teď na zkoušku 4 záznamy jen pro roli user. Když vypisuji dle výše zmíněného dotazu práva právě pro roli user, tak mi vše funguje jak má - DB vrátí ty 4 záznamy + přidá chybějící řádky s NULL. Ale když vypíšu data pro jinou roli, která v ACL nemá žádný záznam, tak mi to místo samých NULL vypíše pouze ty chybějící řádky s NULL, které se předtím doplnili u výpisu role user a zbytek chybí. Možná pro lepší pochopení přikládám screen.
SELECT t1.id AS module_id, t1.name AS module_name, t1.header AS module_header, t2.id AS view_id, t2.name AS view_name, t2.header AS view_header FROM system_modules AS t1 JOIN system_modules_views AS t2 ON t2.module_id = t1.id LEFT JOIN (SELECT system_acl.id, system_acl.role_id, system_acl.module_id, system_acl.view_id, IFNULL(system_acl.allowed, 0) AS allowed, IFNULL(system_acl.editable, 1) AS editable FROM system_acl WHERE system_acl.role_id = 5 OR system_acl.role_id IS NULL) AS t3 ON t1.id = t3.module_id AND t2.id = t3.view_id ORDER BY t2.id ASCVýsledek je vždy 7 řádků - všechny moduly a jejich view, přesně jak to má být. Nicméně sloupec allowed, který je v poddotazu se vůbec nezobrazuje, viz. příloha.
Tak už to mám :)
Výsledek:
SELECT t1.id AS module_id, t1.name AS module_name, t1.header AS module_header, t2.id AS view_id, t2.name AS view_name, t2.header AS view_header, IFNULL(t3.allowed, 0) AS allowed, IFNULL(t3.editable, 1) AS editable FROM system_modules AS t1 JOIN system_modules_views AS t2 ON t2.module_id = t1.id LEFT JOIN (SELECT system_acl.id, system_acl.role_id, system_acl.module_id, system_acl.view_id, system_acl.allowed AS allowed, system_acl.editable AS editable FROM system_acl WHERE system_acl.role_id = 5 OR system_acl.role_id IS NULL) AS t3 ON t1.id = t3.module_id AND t2.id = t3.view_id ORDER BY t2.id ASCJeště pár věcí upravím a celé to důkladně otestuji, ale první pokusy vypadají funkčně. Děkuji za pomoc!
Tiskni
Sdílej: