Caracterele UTF-8 prin gettext

Revin cu alt ball-breaker care mi-a pierdut mai bine de jumate de zi și pe care l-am rezolvat destul de ciudat.

Cei care au avut de lucru cu limbile unei aplicații pe web, au auzit probabil de gettext de la GNU. Și WordPress folosește gettext cu fișiere po/mo pentru traduceri. Practic tu încarci un catalog cu definiții și traduceri la acele definiții, printezi în limba care trebuie cu

echo gettext('definitie');

Mai are și shorthand _(), eu folosesc __(), definită de mine, în caz că mai vrei să faci ceva in momentul traducerii. Citeste mai departe »

Node.js Introducere – Server HTTP

In articolul anterior am discutat despre diferența dintre modul de programare sincron și asincron.

Pentru cine nu are instalată o versiune Node.js, accesați pagină de download. Pentru începători recomand ultima versiune (unstable), că să puteți învăța și beneficia de toate funcțiile care au fost adăugate și să evitați folosirea celor care au fost scoase.

Vom folosi exemplul de pe site-ul oficial, îl vom restructura pentru a facilita explicarea lui și vom crea fișierul exemplu.js, ce conține:

var http = require('http');

var port = 9090;
var mesaj = "<h2>Node.js - exemplu server HTTP</h2>";

var userConectat = function (request, response) {
  response.writeHead(200, {'Content-Type': 'text/plain'});
  response.write( mesaj );
  response.end();
};

var server = http.createServer( userConectat );
server.listen( port );

console.log('Accesati serverul: http://127.0.0.1:9090');

Ca să rulam fisierul: Citeste mai departe »

Paypal IPN returnează INVALID

Mi-a permis Ionuț să vă mai scriu din problemele care mi-au dat multă bataie de cap și cum le-am rezolvat până la urmă.

Astăzi vă povestesc despre Paypal IPN (Instant Payment Notification). E un sistem care funcționează cam așa:

  • Tu trimiți un POST către Paypal cu detaliile produsului (nume, amount, curency etc)
  • Paypal trimite înapoi alt POST după ce userul plătește. Acesta conține datele plătitorului, comezii etc. POST-ul acesta merge către un link setat de merchant în interfața lui de Paypal.
  • La linkul respectiv, tu trebuie să iei postul care vine, să adaugi un câmp anume și să-l trimiți înapoi. Dacă Paypal primește ce trebuie, trimite înapoi la același link rezultatul: VALID sau INVALID.

Toate bune și frumoase. Testele pe sandbox merg perfect, când treci live întoarce INVALID, fără vreun motiv anume.

Problema e în modul cum asamblezi variabilele din POST să le trimiți înapoi la Paypal.

În manualul de implementare de la IPN, sample code-ul arată așa: Citeste mai departe »

windows apple dropbox facebook twitter