CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.
Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].
Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.
Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.
Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.
Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.
Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.
Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.
Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.
Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …
cyklus_citania_csv
{
$Query='select
vtiger_crmentity.crmid as ID,
vtiger_leaddetails.firstname as meno,
vtiger_leaddetails.lastname as priezvisko,
vtiger_leaddetails.email as email,
vtiger_leadaddress.lane as ulica,
vtiger_leadaddress.city as mesto,
vtiger_crmentity.modifiedtime as zmena
from
vtiger_crmentity
left join vtiger_leadaddress on vtiger_crmentity.crmid=vtiger_leadaddress.leadaddressid
left join vtiger_leaddetails on vtiger_crmentity.crmid=vtiger_leaddetails.leadid
left join vtiger_users on vtiger_crmentity.smownerid=vtiger_users.id
where
(
vtiger_leaddetails.lead_no=\''.$riadok_z_csv['id_zaznamu_napriklad_LEA12345'].'\'
and
vtiger_users.user_name=\''.$riadok_z_csv['prideleny_pouzivatel'].'\'
and
vtiger_crmentity.deleted=\'0\'
)
limit 1;';
$Actual=mysql_fetch_array(mysql_query($Query,$Database));
if($Actual)
{
mysql_query('update
vtiger_crmentity
left join vtiger_leadaddress on vtiger_crmentity.crmid=vtiger_leadaddress.leadaddressid
left join vtiger_leaddetails on vtiger_crmentity.crmid=vtiger_leaddetails.leadid
set
vtiger_leaddetails.firstname=\''.$riadok_z_csv['meno'].'\',
vtiger_leaddetails.lastname=\''.$riadok_z_csv['priezvisko'].'\',
vtiger_leaddetails.email=\''.$riadok_z_csv['email'].'\',
vtiger_leadaddress.lane=\''.$riadok_z_csv['ulica'].'\',
vtiger_leadaddress.city=\''.$riadok_z_csv['mesto'].'\',
vtiger_crmentity.modifiedtime=\''.$riadok_z_csv['zmena'].'\'
where
(
vtiger_crmentity.crmid=\''.$Actual['ID'].'\'
);');
}
}
Rozdelenie na select a update je tam kvôly tomu, že medzi nimi prebieha ešte veľa rôznych testov a výpisov (keby sa niekto pýtal, že prečo nie rovno update).
A mňa teraz zaujíma aký je vlastne rozdiel v spájaní tabuliek pomocou left join a pomocou spájania vo where (select * from table t1, table t2 where t1.id=t2.id). Ja potrebujem aby ak bude niekde nejaká zrada aby sa nevykonal celý select. Napríklad, prepokladajme, že v tabuľke vtiger_leadaddress nenájde záznam kde bude platiť vtiger_crmentity.crmid=vtiger_leadaddress.leadaddressid. Vykoná sa select aj napriek tomu len položky ulica a mesto budú prázdne? Alebo celý select skončí chybou?
A druhá otázka. Postačuje ako kontrola správnosti výsledku if($Actual)? Predpokladám, že pri "nesprávnom" selecte budem mať v premennej $Actual=NULL. Alebo treba testovať nejako ináč?
Veľmi dúfam, že nejaká dobrá duša pochopila môj pokus o vykoktanie sa o čo mi vlastne ide.
Vopred vám veľmi pekne ďakujem za odpovede.
A mňa teraz zaujíma aký je vlastne rozdiel v spájaní tabuliek pomocou left join a pomocou spájania vo where
Inner join můžete vždy přepsat pomocí where konstrukce. O left joinu toto neplatí. (opomíjím historickou konstrukci na Oracle "+="). A teď si jen někde přečtěte jaký je rozdíl mezi inner join a left/right join, než budete číst dál.
Kanonický způsob vyhodnocení dotazu je: napřed joiny pak teprve where. Ve Vašem případě, jak jste správně zjistil, je jedno zda použijete left join nebo inner join pro tabulky vtiger_leaddetails a vtiger_users (nikoliv pro vtiger_leadaddress). Výsledek bude stejný a optimizer si interně nahradí left join operací inner join, protože dává více možností k optimalizaci. Napřed (zcela nekanonicky) nejspíše udělá where filter na vtiger_leaddetails.lead_no a vtiger_users.user_name. Pak s výslednými leadid/smownerid, půjde do indexů tabulky vtiger_crmentity. … Tento postup by si se skutečným left join dovolit nemohl. Viz definice left join.
Napríklad, prepokladajme, že v tabuľke vtiger_leadaddress nenájde záznam kde bude platiť vtiger_crmentity.crmid=vtiger_leadaddress.leadaddressid. Vykoná sa select aj napriek tomu len položky ulica a mesto budú prázdne?
Ano vykoná, zmíněné položky budou NULL.
Postačuje ako kontrola správnosti výsledku if($Actual)?
Toto je dost nejasný dotaz. Co je správný výsledek? Je to že byl vrácen právě jeden řádek? Nejvýše jeden řádek? Nebo právě jedno crmid? Třeba si představte že pro různá crmid je můžou existovat stejné hodnoty v polích vtiger_leaddetails.lead_no a vtiger_users.user_name. Je vtiger_leaddetails.lead_no klíčem do tabulky vtiger_leaddetails? Je vtiger_users.user_name klíčem této tabulky?
Tiskni
Sdílej: