https://web2tr-ksef.mf.gov.pl/web/ – strona logowania
– uwierzytelnienie za pomocą podpisu zaufanego, podpisanie dokumentu
– generowanie tokenu
https://web2tr-ksef.mf.gov.pl/web/ – strona logowania
– uwierzytelnienie za pomocą podpisu zaufanego, podpisanie dokumentu
– generowanie tokenu
W modelu Table nie można użyć metody $this->fetchTable(„Projects”) – ta metoda dostępna jest tylko dla Controllers.
src/Model/Table/InvoicesTable.php
use Cake\ORM\TableRegistry; class InvoicesTable extends Table { public function getProjects() { $projects = TableRegistry::getTableLocator()->get('Projects') ->find() ->where(['is_active' => 1]) ->all(); .... } // getProjects() ... } // class
Szuka pliku od katalogu roboczego (aktualnego) i we wszystkich podkatalogach
find . -name "5060bc35b695a2fd90320afca920f32a"
Wszystkie pliki i podkatalogi /home/john/my_app/ zostaną wgrane do roboczego katalogu .
# rsync -av johnny@194.127.230.100:/home/johnny/my_app/ .
Backup zostanie wgrany ze zdalnego systemu do katalogu roboczego
# rsync -av johnny@194.137.231.100:/home/johnny/backup/myapp-20251120.sql .
$this->Form->create($article); // Article controls. echo $this->Form->control('title'); // Author controls (belongsTo) echo $this->Form->control('author.id'); echo $this->Form->control('author.first_name'); echo $this->Form->control('author.last_name'); // Author profile (belongsTo + hasOne) echo $this->Form->control('author.profile.id'); echo $this->Form->control('author.profile.username'); // Tags controls (belongsToMany) // as separate inputs echo $this->Form->control('tags.0.id'); echo $this->Form->control('tags.0.name'); echo $this->Form->control('tags.1.id'); echo $this->Form->control('tags.1.name'); // Inputs for the joint table (articles_tags) echo $this->Form->control('tags.0._joinData.starred'); echo $this->Form->control('tags.1._joinData.starred'); // Comments controls (hasMany) echo $this->Form->control('comments.0.id'); echo $this->Form->control('comments.0.comment'); echo $this->Form->control('comments.1.id'); echo $this->Form->control('comments.1.comment'); $this->Form->end();
JSON – brak RequestHandlera zamiast tego JsonView
Plugin PDF – WkHtmlToPdf rekomendowany silnik
# composer require friendsofcake/cakepdf
Plugin CSV – instalacja w katalogu aplikacji
# composer require friendsofcake/cakephp-csvview
Zmieniło się: typowanie, json, fetchTable
Kopiowanie plików przez sieć, przenoszenie bazy, certyfikaty,
https://claude.ai/chat/b62ab800-58cd-4c56-96ea-c9d9937b03f4
https://claude.ai/chat/f46e500d-d53c-4f3f-8d6f-70df53d31673
use Cake\Database\Expression\QueryExpression; $this->Table->updateAll(['amount_remain' => new QueryExpression('amount') ], $conditions);
.spinner {
/* ... */
opacity: 0;
animation:
fadeIn 500ms 100ms forwards,
rotate 1s linear infinite;
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes rotate {
to {
transform: rotate(360deg);
}
}
private function getWeekDateRange($year, $week) { // Utworzenie obiektu DateTime dla pierwszego dnia określonego tygodnia $dto = new DateTime(); $dto->setISODate($year, $week); // Pierwszy dzień tygodnia (poniedziałek) $start_date = $dto->format('Y-m-d'); // Dodanie 6 dni aby otrzymać ostatni dzień tygodnia (niedziela) $dto->modify('+6 days'); $end_date = $dto->format('Y-m-d'); return [ 'start_date' => $start_date, 'end_date' => $end_date ]; }
?? sprawdz. tylko null i undefined, || sprawdz. 0, '', NaN, null, undefined, false && warunkowego wykonania kodu
Dla konkretnej domeny
# certbot certonly -d firma.domena.pl
Dla wszystkich certyfikatów
# certbot renew
$.ajax({ url: '/api/products/get-all.json', type: 'GET', dataType: 'json', success(resp) { if(resp.resp.error) { $("#feedback").text(resp.resp.error).addClass('text-danger'); return; } $("#feedback").text(resp.resp.success).addClass('text-success'); }, error(e){ var message = ""; if(e.responseJSON !== 'undefined') message = e.responseJSON.message; if(e.responseText !== 'undefined') message = e.responseText.message; console.log(message ); } });
Błąd po komendzie apt update – klucz publiczny PHP wygasł
Err:6 https://packages.sury.org/php bullseye InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B188E2B695BD4743
Jeśli tabela nie mieści się w oknie i chcemy zachować lewe kolumny (np. Nazwa wiersza) podczas przewijania w prawo:
Przy dodawaniu nowego kontenera:
Komputer lokalny Docker --------------------------------------------------- Port : 5678 | 5679 : 5678 Volume : C:\...\n8n-data1 : /home/node/.n8n Volume : C:\...\n8n-pliki : /pliki_n8n
Zmienne:
GENERIC_TIMEZONE : Europe/Warsaw TS : Europe/Warsaw
import OpenAI from "openai";
const client = new OpenAI();
const response = await client.responses.create({
model: "gpt-4.1",
input: "Write a one-sentence bedtime story about a unicorn.",
});
console.log(response.output_text);
-- Bez strefy czasowej ALTER TABLE invoices ADD COLUMN modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
Czytaj dalej Kolumna modified – aktualizowana przy każdej zmianie rekordu
Wygenerowane przez Claude AI
Wygenerowane przez Claude.ai
Tworzenie tabeli
CREATE TABLE users ( id serial primary key, name varchar(80), age int, -- how many years temp_hi int, -- high temperature prcp real, -- precipitation date date );
-- <komentarz>
DESC users – struktura tabeli users
\d+ users
Typy
int, smallint, real, double precision, char(N), varchar(N), date, time, timestamp, interval
Wstawianie danych – kopiowanie z pliku do tabeli
COPY users FROM '/home/joe/users.txt';
Poziom klienta – terminala psql
\l[+] - lista baz danych \dt[+] - lista tabel \dp - tabele, widoki, uprawnienia \du - użytkownicy / role
DESC users – struktura tabeli users
\d+ users
\dT[+] - schema \dO[+] - collations
help \?
\q - WYJŚCIE exit
select version(); PostgreSQL 13.20 (Debian 13.20-0+deb11u1) on x86_64-pc-linux-gnu, compiled by gcc
Zmiana nazwy usera – jako root
# usermod -l newuser olduser
# usermod -m -d /home/newuser newuser
Sprawdzenie
# cat /etc/passwd # ls -l /home