In doua articole anterioare am prezentat metode de autentificare prin OAuth si obtinere a tokenului de acces JWT, precum si metode pentru comunicarea cu platforma SPV ANAF in vederea incarcarii facturilor electronice in format xml.
In doua articole anterioare am prezentat metode de autentificare prin OAuth si obtinere a tokenului de acces JWT, precum si metode pentru comunicarea cu platforma SPV ANAF in vederea incarcarii facturilor electronice in format xml.
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.
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.
<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>
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
cPanel > Select PHP Version > Switch to PHP Options > upload_max_filesize = 200M
upload_max_filesize = 200M post_max_size = 200M memory_limit = 200M
php_value upload_max_filesize 12M php_value post_max_size 13M php_value memory_limit 15M
ini_set( 'upload_max_size' , '12M' ); ini_set( 'post_max_size', '13M'); ini_set( 'memory_limit', '15M' );
/** * 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 );
Datorita unui bug in componenta ui.autocomplete din libraria jQueryUI de fiecare data cand utilizatorul tasteaza in campul text performanta cautarii scade. Pentru a corecta acest lucru se adauga $(this).data(“ui-autocomplete”).menu.bindings = $(); in sectiunea search :
$("#birds").autocomplete({ source: "search.php", minLength: 2, select: function(event, ui){ log("Selected: " + ui.item.value + " aka " + ui.item.id); }, search: function(e,ui){ $(this).data("ui-autocomplete").menu.bindings = $(); } });
Instalare CentOS7 cu Apache, PHP, MySQL si vsftpd, administrare prin Webmin, configurarea zonelor/domeniilor in BIND, apoi configurarea virtual host pentru Apache.
In scriptul JS:
$('#upload').uploadify({ 'scriptData': { 'session': '<?php echo session_id(); ?>' } });
In scriptul PHP:
if (array_key_exists('session_id', $_REQUEST)) session_id($_REQUEST['session_id']);
Sursa: http://www.uploadify.com/forum/#/discussion/4832/php-and-sessions-to-uploadify.php
Date actuale si corecte obtinute prin serviciile oferite in mod gratuit de openapi.ro. Un instrument foarte bun pentru implementarea unor verificari/validari in aplicatiile dezvoltate.
Generare tema de culori:
http://www.philipwhitt.com/projects/google-visualization-theme-picker
Tema poate fi utilizata sub forma:
var options = { title: 'Raport punctaje obtinute', colors: ['#159E90','#8D0920','#E1B460','#C53780','#AB1560','#A2BF40','#4049D0'] }; var chart = new google.visualization.AreaChart(document.getElementById('chart_div')); chart.draw(data, options);
Un articol excelent despre imbunatatirea performantelor unui site de dimensiuni relativ mari. Un studiu de caz cu explicatii exhaustive pentru fiecare sectiune, cum au gandit si ce solutii au gasit pentru a obtine un scor de 99/100 de puncte la Google PageSpeed Insights.
http://www.smashingmagazine.com/2014/09/08/improving-smashing-magazine-performance-case-study/
Pentru verificarea propagarii DNS:
https://www.whatsmydns.net
Verifica propagarea DNS pe 21 de servere din locatii diferite (aleator). La fiecare refresh al paginii se schimba locatiile.
http://ceipam.eu/en/dnslookup.php
Verifica propagarea DNS la diferiti provideri de internet (inclusiv RDS, UPC, Romtelecom, Vodafone, Euroweb)
Altele:
http://viewdns.info/
http://www.nexcess.net/resources/tools/global-dns-checker/
http://checkdnspropagation.com/
https://www.dnsunlimited.com/propagation_check
Actualizare LiteSpeed:
/usr/local/lsws/admin/misc/lsup.sh -v 4.2.17
Optiuni:
-f: Daca versiunea specificata este deja instalata, lsup se va opri. Optiunea -f forteaza instalarea chiar daca versiunea specificata este aceeasi cu cea instalata. Aceasta optiune poate fi utila daca au fost efectuate modificari/imbunatatiri pe versiunea actuala si inca nu a fost lansat a o noua versiune.
-v: Permite specificarea versiunii care sa fie instalata. Aceasta optiune permite instalarea unei versiuni anterioare in cazul in care versiunea actuala creaza probleme.
Informatii suplimentare aici:
http://www.litespeedtech.com/support/wiki/doku.php?id=litespeed_wiki:lsup
http://crybit.com/litespeed-update-released/
Noty este un plugin jQuery care permite crearea de notificari, ca o alternativa la casutele standard de dialog. Sunt permise diverse pozitionari relativ la fereastra curenta, aspectul grafic poate fi modificat/personalizat din CSS si are, pentru moment, 4 optiuni de callback. Mai multe detalii pe site-ul autorului: http://ned.im/noty.
Autorul, Nedim Arabaci, prezinta si alte proiecte interesante pe site-ul sau: http://ned.im