Corectare afisare lista de rezultate autocomplete in spatele ferestrei de dialog jQuery UI

Într-o fereastră de dialog jQuery UI avem un widget autocomplete asociat unui câmp text. La prima afișare a listei de rezultate, totul este afișat normal. Însă, dacă închidem lista de rezultate fără să fi selectat vreun rezultat, iar apoi redeschidem lista prin tastarea unui caracter în câmpul text, vom observa că lista este afișată în spatele ferestrei de dialog.

Read More

PHP Regexp – modificatori si optiuni

Modificatori:

[abc] Un singur caracter: a, b sau c
[^abc] Un singur caracter cu exceptia a, b, sau c
[a-z] Un singur caracter din intervalul a-z
[a-zA-Z] Un singur caracter din intervalul a-z sau A-Z
^ Inceput de linie
$ Sfarsit de linie
\A Inceput de sir de caractere/text
\z Sfarsit de sir de caractere/text
. Orice caracter
\s Orice caracter de tip whitespace
\S Orice caracter cu exceptia whitespace
\d Orice cifra
\D Orice caracter cu exceptia unei cifre
\w Orice carcater dintr-un cuvant (word): litera, cifra, underscore
\W Orice carcater cu exceptia celor dintr-un cuvant (non-word)
\b Orice caracter care delimiteaza un cuvant
(…) Retine secventa din paranteza
(a|b) a sau b
a? Cel mult o aparitie a lui a
a* Oricate (inclusiv zero) aparitii ale lui a
a+ Una sau mai multe aparitii ale lui a
a{3} Exact 3 aparitii ale lui a
a{3,} 3 sau mai multe aparitii ale lui a
a{3,6} Intre 3 si 6 aparitii ale lui a

Options:
i Nu tine cont de minuscule sau majuscule
m face ca punctul (.) sa includa si caracterul linie-noua
s continua cautarea chiar si dupa caracterul linie-noua
x Ignora caracterele de tip whitespace
o executa substitutiile #{…} o singura data

Sub-patterns

(?:(?!string).) Negarea unui sir de caractere (?: creaza un sub-sablon, iar ?! este o negare a textului care urmeaza

Mai multe informatii:
https://www.php.net/manual/en/reference.pcre.pattern.syntax.php

Incarcare factura XML in platforma SPV ANAF folosind autentificarea OAuth in PHP

Intr-un articol separat (Autentificare OAuth si obtinere token JWT de la ANAF folosind PHP) am descris modul de autentificare prin OAuth in platforma ANAF si obtinerea tokenului JWT care autorizeaza o aplicatie terta sa comunice cu platforma ANAF in numele unui client. Scopul acestei comunicari este transmiterea sau descarcarea facturilor electronice in SPV (Spatiul Privat Virtual) in format XML in contextul implementarii proiectului e-Factura de catre Ministerul de Finante.

Read More

Autentificare OAuth si obtinere token JWT de la ANAF folosind PHP

Procesul de interfatare cu platforma ANAF in contextul e-Factura, pentru incarcarea sau descarcarea facturilor electronice, este destul de complex si presupune o serie de etape. ANAF pune la dispozitie o documentatie destul de slab pusa la punct, cu detalii tehnice de multe ori incomplete si impartite in mai multe documente pe care le gasim in locatii diferite.

Read More

Modificarea locatiei pentru fisierele temporare de backup in Plesk

La verificarea backup-ului realizat automat folosind Backup Manager din Plesk, se observa ca exista anumite mesaje de eroare de forma
Unable to make database dump. Error: Failed to exec mysqldump: Exit code: 5:

In paralel cu aceasta eroare, in interfata Plesk este afisat un mesaj de avertizare ca partitia /tmp este plina. Acest mesaj este trimis si pe email catre administratorul serverului.
The threshold of partition "/tmp" utilization has been exceeded

Read More

Modificare limita dimensiune maxima fisier Outlook PST

După instalarea Microsoft 365 pe Windows 11 (ultimele versiuni) și configurarea contului de email în Outlook 2021 cu folosirea unui fișier PST existent, Outlook nu mai pornea decât în Safe mode. În modul normal se închidea automat după câteva secunde. În Event viewer am găsit următorul eveniment:

Event Name: OFFICE_MODULE_VERSION_MISMATCH
Problem signature:
P1: OUTLOOK.EXE
P2: 16.0.18324.20092

După diverse căutări și încercări am descoperit că problema de fond era dimensiunea fișierului PST care depășise limita de 50GB, care este setarea implicită. Soluția a fost modificarea acestei limite din regiștrii Windows.

Pentru a modifica limita de dimensiune pentru fișierul PST în Microsoft 365, trebuie făcute câteva modificări în regiștrii Windows. Iată pașii detaliați:

  1. Se deschide Registry Editor:
    • Se apasă Windows + R pentru a deschide dialogul Run.
    • Se tastează regedit și apoi Enter.
  2. Se navighează la cheia de registru corespunzătoare:
    • Pentru fișierele PST, se navighează la:
      HKEY_CURRENT_USER\Software\Microsoft\Office\<versiune>\Outlook\PST
      Se înlocuiește <versiune> cu versiunea de Office (de exemplu, 16.0 pentru Office 2016, 15.0 pentru Office 2013).
  3. Se creează sau modifică valorile DWORD:
    • MaxLargeFileSize: Aceasta setează dimensiunea maximă a fișierului PST în megabytes (MB). Se creează o valoare DWORD (32-bit) numită MaxLargeFileSize și se setează valoarea dorită în MB. De exemplu, pentru a seta limita la 100 GB, se introduce 102400.

    • WarnLargeFileSize: Aceasta setează dimensiunea la care Outlook va începe să afișeze avertismente. Se creează o valoare DWORD (32-bit) numită WarnLargeFileSize și se setează valoarea dorită în MB. De obicei, aceasta este puțin mai mică decât MaxLargeFileSize.
    MaxLargeFileSize = 102400 (pentru 100 GB)
    WarnLargeFileSize = 95000 (pentru 95 GB)
    Opțional (probabil pentru compatibilitate, sau dacă situația impune) se vor crea și cheile LargeFileSize și WarnFileSize cu aceleași valori ca și mai sus.

    Aceste perechi de valori trebuie create și la locația
    HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\<versiune>\PST
    Dacă cheia PST nu există se va crea.
  4. Repornire Outlook:
    • Se va închide și redeschide Outlook pentru ca modificările să aibă efect.

Autologin in Windows 10

Pentru autentificarea automata in contul unui utilizator din Windows 10 se procedeaza in felul urmator:

  1. Se ruleaza comanda netplwiz.
  2. Se debifeaza optiunea User must enter a username and passowrd to use this computer.
  3. Se introduce numele de utilizator si parola contului pentru care se doreste autologin.
  4. OK

Daca optiunea User must enter a username and passowrd to use this computer nu este vizibila, atunci se ruleaza comanda de mai jos, dupa care se ruleaza din nou netplwiz.

reg ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device" /v DevicePasswordLessBuildVersion /t REG_DWORD /d 0 /f

Migrare masina virtuala din VMware Player in ESXi

  1. Se porneste masina virtuala care trebuie exportata si se dezinstaleaza VMware Tools, apoi se face restart.
  2. Dupa ce masina virtuala reporneste se face shutdown.
  3. Urmeaza exportul in format OVF al masinii virtuale. Pentru aceasta se va utiliza, din linie de comanda, programul ovftool.exe  care este localizat in C:\Program Files\VMware\VMware Player\OVFTool .
    Comanda pentru export este:
    ovftool.exe "C:\calea_spre_mv.vmx" "D:\folder_destinatie"
  4. Importul fisierului OVF in serverul ESXi poate fi facut fie prin VMware vSphere fie prin interfata web de administrare ESXi.

    In prima varianta: File > Deploy OVF Template, se alege fisierul OVF creat anterior si se urmeaza instructiunile pana la final.

    In cazul utilizarii interfetei web: Virtual Machines > Create / Register VM > Deploy a virtual machine from an OVF or OVA file, apoi se urmeaza instructiunile pana la final.

HeidiSQL – client gratuit pentru MySQL

HeidiSQL
HeidiSQL

HeidiSQL este un client gratuit si open-source pentru MySQL (MariaDB), MSSQL si PostgreSQL, cu o multime de functii utile programatorilor sau celor care administreaza baze de date MySQL. Personal folosesc acest program inca de pe vemea cand se numea MySQL-Front (2000-2001), iar astazi il gasesc indispensabil in activitatea mea zilnica.

Exista cel putin doua motive pentru care nu renunt la HeidiSQL: dezvoltatorul programului, Ansgar Becker, oferta suport tehnic prompt si mereu lanseaza versiuni noi ale programului. Iar incepand din luna februarie 2018 acest program poate fi descarcat si din Microsoft Store (pentru utilizatorii de Windows 10).

Read More

Redirectionare website spre HTTPS

  1. Activarea redirectionarii permanente prin modificarea fisierului de configurare al virtual host
    <VirtualHost *:80> 
    ServerName www.lorand.work
    Redirect permanent / https://www.lorand.work/
    </VirtualHost>
    
    <VirtualHost _default_:443> 
    ServerName www.lorand.work
    DocumentRoot /var/www/httpdocs
    SSLEngine On 
    </VirtualHost>
  2. Activarea redirectionarii folosind fisierul .htaccess
    RewriteEngine On 
    RewriteCond %{HTTPS} !=on 
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

Modificarea locatiei default pentru fisierele temporare de backup in Plesk

  1. Conectare la server prin SSH
  2. Realizarea unui backup al fisierului de configurare al Plesk /etc/psa/psa.conf
    # cp -a /etc/psa/psa.conf{,.bkp}
  3. Modificarea variabilei DUMP_TMP_D  asa incat sa indice spre locatia dorita
    # grep DUMP_TMP_D /etc/psa/psa.conf 
    DUMP_TMP_D /mnt/backupdrive/tmp
  4. Setarea drepturilor 1777  pentru folderul destinatie
    # chmod 1777 /mnt/backupdrive/tmp
    
  5. Verificarea drepturilor pentru folderul destinatie
    # ls -ld /mnt/backupdrive/tmp
    drwxrwxrwt 53 root root 20480 Feb 8 21:39 /mnt/backupdrive/tmp
    

Metoda este valabila pentru Plesk Onyx. Pentru Plesk 12.5 sau mai vechi: https://support.plesk.com/hc/en-us/articles/213902125-Unable-to-download-a-backup-from-backup-repository-page-not-found

Modificarea limitei pentru dimensiunea fisierelor uploadate in WordPress

1. Modificarea setarilor PHP in cPanel

cPanel > Select PHP Version > Switch to PHP Options > upload_max_filesize = 200M

 

2. Modificarea fisierului php.ini

upload_max_filesize = 200M post_max_size = 200M memory_limit = 200M

 

3. Modificarea fisierului .htaccess

php_value upload_max_filesize 12M
php_value post_max_size 13M
php_value memory_limit 15M

 

4. Modificarea setarilor php din scriptul wp-config.php

ini_set( 'upload_max_size' , '12M' );
ini_set( 'post_max_size', '13M');
ini_set( 'memory_limit', '15M' );

 

5. Utilizarea filtrului WordPress upload_size_limit

/**
 * Filter the upload size limit for non-administrators.
 *
 * @param string $size Upload size limit (in bytes).
 * @return int (maybe) Filtered size limit.
 */
function filter_site_upload_size_limit( $size ) {
    // Set the upload size limit to 10 MB for users lacking the 'manage_options' capability.
    if ( ! current_user_can( 'manage_options' ) ) {
        // 10 MB.
        $size = 1024 * 10000;
    }
    return $size;
}
add_filter( 'upload_size_limit', 'filter_site_upload_size_limit', 20 );