Versione @0.2.1

This commit is contained in:
gine 2015-12-19 19:06:06 +01:00
parent 1154e3f4a0
commit 43493faeab
47 changed files with 2551 additions and 0 deletions

6
config/db.php Executable file
View file

@ -0,0 +1,6 @@
<?php
$dbms_server="10.42.1.61";
// $dbms_server="127.0.0.1";
$dbms_port="3306";
// $dbms_port="33306";
?>

399
include/Database.c.php Executable file
View file

@ -0,0 +1,399 @@
<?php
define('ERR_DB_RES','0');
define('ERR_DB_ERR','1');
require_once 'OExceptions.php';
/**
* Wrapper per le funzioni di libreria php mysqli
*
* @author gine
* @original author: Micah Carrick
* @version: 1.1.1
* @licence: GPL 2
*
*/
class Database {
/**
* Ricordati di settarla a FALSE per tutti i programmi
* in cui usi questa classe.
*/
private $debug=FALSE;
private static $m_pInstance = array();
private $last_query; // last query executed.
var $row_count; // last number of rows
var $db_link; // current/last database link identifier
private $auto_slashes; // the class will add/strip slashes when it can
private $host, $user, $pw, $db, $port;
/**
* Costruttore della classe che si interfaccia con il dbms. Privata per via del Singleton.
*
* @param string $db
*/
private function Database($db) {
$dbConfPath=dirname(__FILE__).'/../config/';
include($dbConfPath.'db.php');
if ($db == "dns")
include($dbConfPath.'smdns_db.php');
elseif ($db == "db") {
include($dbConfPath.'mysql_db.php');
require_once dirname(__FILE__).'/../lib/terminal.php';
$dbms_password=prompt_silent();
} elseif ($db == "ot")
include($dbConfPath.'ot_db.php');
elseif($db == "std")
include($dbConfPath.'config.php');
$this->host = $dbms_server;
$this->user = $dbms_user;
$this->pw = $dbms_password;
$this->db = $dbms_db;
$this->port = $dbms_port;
$this->auto_slashes = true;
self::connect();
}
/**
* Singleton multiplo del costruttore della classe Database. Ritorna un istanza della classe.
* $db può essere: ot, dns, db, ftp. Default: ot
*
* @param string $db
* @return Mysqli_link $m_pInstance
*/
public static function getInstance($db='ot'){
if (!isset(self::$m_pInstance[$db])){
self::$m_pInstance[$db] = new Database($db);
}
return self::$m_pInstance[$db];
}
/**
* Esegue la connect al dbms.
* I parametri, se configurato il costruttore correttamente, sono opzionali. Ritorna un mysqli_link.
*
* Solleva un eccezione se ci sono problemi di connessione.
*
* @param url $host
* @param string $user
* @param string $pw
* @param string $db
* @param int $port
* @throws DbErrException
* @return Mysqli_link $db_link
*
*/
function connect($host='', $user='', $pw='', $db='', $port='') {
if (!empty($host)) $this->host = $host;
if (!empty($user)) $this->user = $user;
if (!empty($pw)) $this->pw = $pw;
if (!empty($pw)) $this->port = $port;
$this->db_link = mysqli_init();
mysqli_real_connect($this->db_link , $this->host, $this->user, $this->pw, $this->db, $this->port);
if (!$this->db_link)
$this->callException(_("Database connection problem"),E_DB_ERR);
return $this->db_link;
}
private function setDebugErr($msg){
$err['text']=$msg;
$err['code']=0;
if($this->debug){
$err['text'].="\n".$this->last_query;
$err['code']=mysqli_errno($this->db_link);
}
return $err;
}
private function callException($msg,$e_type){
$err=$this->setDebugErr($msg);
if($e_type == ERR_DB_RES)
throw new DbResException($err['text'],$err['code']);
elseif($e_type == ERR_DB_ERR)
throw new DbErrException($err['text'],$err['code']);
else {
die(_("what shit!"));
exit;
}
}
/**
* Selezioziona il database ritorna TRUE se selezionato correttamente.
* Solleva una Exception in caso di fallimento.
*
* @param string $db
* @throws DbErrException
* @return boolean
*/
function selectDb($db='') {
if (!empty($db)) $this->db = $db;
if (!mysqli_select_db($this->db_link,$this->db))
$this->callException(_("Database selection problem"),E_DB_ERR);
return true;
}
/**
* Esegue una SELECT espressa con una SqlQuery.
* Utile quando non si conosce in numero di righe o colonne che potrebbero tornare.
* Ritorna un oggetto mysqli_result. Solleva una eccezione sul fallimento.
*
* @param SqlQuery $sql
* @throws DbErrException
* @return mixed
*/
function select($sql) {
$this->last_query = $sql;
$r = mysqli_query($this->db_link,$sql);
if (!$r)
$this->callException(_("Query select error"),E_DB_ERR);
$this->row_count = mysqli_num_rows($r);
return $r;
}
/**
* Esegue una SELECT il cui risultato deve essere 1 sola riga.
* Ritorna la riga. Solleva un eccezzione DbResException altrimenti.
*
* @param SqlQuery $sql
* @param [String cMsg] : customMessage
* @throws DbResException
* @return mixed
*/
function selectOneRow($sql,$cMsg=NULL) {
$msg=$sMsg=NULL;
$r = self::select($sql);
if ($this->row_count > 1)
$sMsg=_(" more than one result.");
elseif ($this->row_count < 1)
$sMsg=_(" query returned less than one result.");
if($sMsg!=NULL && $cMsg==NULL)
$msg=_("Your query returned").$sMsg;
elseif ($sMsg!=NULL && $cMsg != NULL)
$msg=$cMsg;
if($msg!=NULL)
$this->callException($msg,ERR_DB_RES);
return mysqli_fetch_row($r);
}
/**
* Esegue una SELECT il cui risultato deve essere 1 sola cella.
* Ritorna la cella. Solleva un eccezzione DbResException altrimenti.
*
* @param SqlQuery $sql
* @throws DbResException
* @return mixed
*/
function selectFirstRowFirstCell($sql) {
$r = $this->select($sql);
if ($this->row_count > 1 or $this->row_count < 1)
$this->callException(_("Your query returned more or less that one result."),ERR_DB_RES);
$ret = mysqli_fetch_row($r);
if ($this->auto_slashes)
return stripslashes($ret[0]);
else
return $ret[0];
}
/**
* Esegue una select il cui risultato deve essere un array composto da
* una sola cella per riga. Solleva un eccezzione DbResException altrimenti.
*
* @param SqlQuery $sql
* @throws DbResException
* @return array
*/
function selectArrayOneElem($sql) {
$arr=array();
$r= $this->select($sql);
for ($i=0; $i<$this->row_count;$i++){
$row=mysqli_fetch_row($r);
if (isset($row[1]))
$this->callException(_("Your query return more than 1 element for row."),ERR_DB_RES);
$arr[$i]=$row[0];
}
return $arr;
}
/**
* Esegue una select il cui risultato deve essere un array composto da
* una $n celle per riga. Solleva un eccezzione DbResException altrimenti.
* Se $n non è specificato non viene effettuato nessun controllo sul
* numero di elementi per riga.
*
* @param SqlQuery $sql
* @throws DbResException
* @return array
*/
function selectArrayNElem($sql,$n=NULL) {
$arr=array();
$r= $this->select($sql);
for ($i=0; $i<$this->row_count;$i++){
$row=mysqli_fetch_row($r);
if($n!=NULL){
if (isset($row[$n]))
$this->callException(sprintf(_("Your query return more than %s element for row."),$n),ERR_RES);
}
$arr[$i]=$row;
}
return $arr;
}
/**
* Torna il numero di righe affette dalla query.
* Da utilizzare con INSERT DELETE e UPDATE
*
* @param SqlQuery $sql
* @throws DbResException
* @return int
*/
function execQuery($sql) {
$this->last_query = $sql;
$r = mysqli_query($this->db_link,$sql);
if (!$r)
$this->callException(_("Query error"),ERR_DB_ERR);
return $this->row_count = mysqli_affected_rows($this->db_link);
}
/**
* Eseque una SqlQuery il cui risultato deve aver avuto effetto su 1 sola riga.
* Ritorna TRUE o solleva una eccezione altrimenti.
*
* @param SqlQuery $sql
* @param [String cMsg] : customMessage
* @throws DbResException
* @return boolean
*/
function execQueryOneRow($sql,$cMsg=NULL) {
$msg=$sMsg=NULL;
self::execQuery($sql);
if ($this->row_count == 0)
$sMsg=_("No row affected");
elseif($this->row_count > 1)
$sMsg=_("More than 1 row are affected");
if($sMsg!=NULL && $cMsg==NULL)
$msg=$sMsg;
elseif ($sMsg!=NULL && $cMsg != NULL)
$msg=$cMsg;
if($msg!=NULL)
$this->callException($msg,ERR_DB_RES);
}
/**
* Eseque una execQueryOneRow e ritorna l'ID della riga inserita.
* Ottenuto tramite AUTOINCREMENT; comoda per le INSERT.
*
* @param SqlQuery $sql
*/
function execQueryRetId($sql) {
$this->execQueryOneRow($sql);
return mysqli_insert_id($this->db_link);
}
/**
* Esegue una SELECT con $sql per verificare la presenza di un "id", se non esiste torna FALSE.
* Altrimenti torna l'ID cercato con la select.
* Se ritornano più risultati solleva un DbResException.
*
* @param SelectSqlQuery $sql
* @return mixed
*/
function isThereAlready($sql){
$id=FALSE;
$res=self::select($sql);
if($this->row_count == 1){
$row=mysqli_fetch_row($res);
$id=$row[0];
} elseif($this->row_count > 1 ) {
$this->callException(_("Are present more than 1 row"),ERR_DB_RES);
}
return $id;
}
function escapeString($string){
return mysqli_real_escape_string($this->db_link,$string);
}
/**
* Esegue un flush dei privilegi degli utenti mysql.
* Serve per assicurare che le operazioni effettuate con altre funzioni,
* come la creazione o la eliminazione di un utente, siano attive.
*/
function flushPrivileges(){
self::execQuery("FLUSH PRIVILEGES");
}
/**
* Se $debug è TRUE stampa la query $sql altrimenti tramite reflection esegue il metodo $action sulla query.
*
* @param boolean $debug TRUE|FALSE
* @param String $action Metodi della Classe Database
* @param SqlQuery $sql
*/
function sqlOrDebug($debug,$action,$sql){
if (! $debug)
self::$action($sql);
else
echo "DEBUG:OR: ".str_replace(array("\n","\r","\t","/\s\s+/"),"",$sql)."\n";
}
/**
* Se $debug è FALSE esegue tramite reflection il metodo $action sulla query $sql, altrimenti stampa anche la query.
*
* @param boolean $debug TRUE|FALSE
* @param String $action Metodi della Classe Database
* @param SqlQuery $sql
*/
function sqlAndDebug($debug,$action,$sql){
if ($debug)
echo "DEBUG:AND: ".str_replace(array("\n","\r","\t","/\s\s+/"),"",$sql)."\n";
return self::$action($sql);
}
/**
* Ritorna l'ultimo errore ottenuto durante le azioni precedenti sul database.
*/
public function getLastError() {
return $this->last_error;
}
/**
* Ritorna l'ultima query effettuata
*/
public function getLastQuery() {
return $this->last_query;
}
}
?>

381
include/Database.php Executable file
View file

@ -0,0 +1,381 @@
<?php
require_once 'OExceptions.php';
define('E_DB_RES','0');
define('E_DB_ERR','1');
/**
* Wrapper per le funzioni di libreria php mysqli
*
* @author gine
* @original author: Micah Carrick
* @version: 1.1
* @licence: GPL 2
*
*/
class Database {
/**
* Ricordati di settarla a FALSE per tutti i programmi
* in cui usi questa classe.
*/
private $debug=FALSE;
private static $m_pInstance = array();
private $last_query; // last query executed.
var $row_count; // last number of rows
var $db_link; // current/last database link identifier
private $auto_slashes; // the class will add/strip slashes when it can
private $host, $user, $pw, $db, $port;
/**
* Costruttore della classe che si interfaccia con il dbms. Privata per via del Singleton.
*
* @param string $db
*/
private function Database($db) {
$dbConfPath=dirname(__FILE__).'/../config/';
include($dbConfPath.'db.php');
if ($db == "dns")
include($dbConfPath.'smdns_db.php');
elseif ($db == "db") {
include($dbConfPath.'mysql_db.php');
require_once dirname(__FILE__).'/../lib/terminal.php';
$dbms_password=prompt_silent();
} elseif ($db == "ot")
include($dbConfPath.'ot_db.php');
elseif($db == "std")
include($dbConfPath.'config.php');
$this->host = $dbms_server;
$this->user = $dbms_user;
$this->pw = $dbms_password;
$this->db = $dbms_db;
$this->port = $dbms_port;
$this->auto_slashes = true;
self::connect();
}
/**
* Singleton multiplo del costruttore della classe Database. Ritorna un istanza della classe.
* $db può essere: ot, dns, db, ftp. Default: ot
*
* @param string $db
* @return Mysqli_link $m_pInstance
*/
public static function getInstance($db='ot'){
if (!isset(self::$m_pInstance[$db])){
self::$m_pInstance[$db] = new Database($db);
}
return self::$m_pInstance[$db];
}
/**
* Esegue la connect al dbms.
* I parametri, se configurato il costruttore correttamente, sono opzionali. Ritorna un mysqli_link.
*
* Solleva un eccezione se ci sono problemi di connessione.
*
* @param url $host
* @param string $user
* @param string $pw
* @param string $db
* @param int $port
* @throws DbErrException
* @return Mysqli_link $db_link
*
*/
function connect($host='', $user='', $pw='', $db='', $port='') {
if (!empty($host)) $this->host = $host;
if (!empty($user)) $this->user = $user;
if (!empty($pw)) $this->pw = $pw;
if (!empty($pw)) $this->port = $port;
$this->db_link = mysqli_init();
mysqli_real_connect($this->db_link , $this->host, $this->user, $this->pw, $this->db, $this->port);
if (!$this->db_link)
$this->callException(_("Database connection problem."),E_DB_ERR);
return $this->db_link;
}
private function setDebugErr($msg){
$err['text']=$msg;
$err['code']=0;
if($this->debug){
$err['text'].="\n".$this->last_query;
$err['code']=mysqli_errno($this->db_link);
}
return $err;
}
private function callException($msg,$e_type){
$err=$this->setDebugErr($msg);
if($e_type == E_DB_RES)
throw new DbResException($err['text'],$err['code']);
elseif($e_type == E_DB_ERR)
throw new DbErrException($err['text'],$err['code']);
else {
die(_("what shit?!"));
exit;
}
}
/**
* Selezioziona il database ritorna TRUE se selezionato correttamente.
* Solleva una Exception in caso di fallimento.
*
* @param string $db
* @throws DbErrException
* @return boolean
*/
function selectDb($db='') {
if (!empty($db)) $this->db = $db;
if (!mysqli_select_db($this->db_link,$this->db))
$this->callException(_("Database selection problem."),E_DB_ERR);
return true;
}
/**
* Esegue una SELECT espressa con una SqlQuery.
* Utile quando non si conosce in numero di righe o colonne che potrebbero tornare.
* Ritorna un oggetto mysqli_result. Solleva una eccezione sul fallimento.
*
* @param SqlQuery $sql
* @throws DbErrException
* @return mixed
*/
function select($sql) {
$this->last_query = $sql;
$r = mysqli_query($this->db_link,$sql);
if (!$r)
$this->callException(_("Query select error."),E_DB_ERR);
$this->row_count = mysqli_num_rows($r);
return $r;
}
/**
* Esegue una SELECT il cui risultato deve essere 1 sola riga.
* Ritorna la riga. Solleva un eccezzione DbResException altrimenti.
*
* @param SqlQuery $sql
* @throws DbResException
* @return mixed
*/
function selectOneRow($sql) {
$oi=_("Your query returned ");
$r = self::select($sql);
if ($this->row_count > 1)
$this->callException($oi._("more than one result."),ERR_DB_RES);
elseif ($this->row_count < 1)
$this->callException($oi._("less than one result."),ERR_DB_RES);
return mysqli_fetch_row($r);
}
/**
* Esegue una SELECT il cui risultato deve essere 1 sola cella.
* Ritorna la cella. Solleva un eccezzione DbResException altrimenti.
*
* @param SqlQuery $sql
* @throws DbResException
* @return mixed
*/
function selectFirstRowFirstCell($sql) {
$r = $this->select($sql);
if ($this->row_count > 1 or $this->row_count < 1)
$this->callException(_("Your query returned more or less that one result."),ERR_DB_RES);
$ret = mysqli_fetch_row($r);
if ($this->auto_slashes)
return stripslashes($ret[0]);
else
return $ret[0];
}
/**
* Esegue una select il cui risultato deve essere un array composto da
* una sola cella per riga. Solleva un eccezzione DbResException altrimenti.
*
* @param SqlQuery $sql
* @throws DbResException
* @return array
*/
function selectArrayOneElem($sql) {
$arr=array();
$r= $this->select($sql);
for ($i=0; $i<$this->row_count;$i++){
$row=mysqli_fetch_row($r);
if (isset($row[1]))
$this->callException(_("Your query return more than 1 element for row."),ERR_DB_RES);
$arr[$i]=$row[0];
}
return $arr;
}
/**
* Esegue una select il cui risultato deve essere un array composto da
* una $n celle per riga. Solleva un eccezzione DbResException altrimenti.
* Se $n non è specificato non viene effettuato nessun controllo sul
* numero di elementi per riga.
*
* @param SqlQuery $sql
* @throws DbResException
* @return array
*/
function selectArrayNElem($sql,$n=NULL) {
$arr=array();
$r= $this->select($sql);
for ($i=0; $i<$this->row_count;$i++){
$row=mysqli_fetch_row($r);
if($n!=NULL){
if (isset($row[$n]))
$this->callException(sprintf(_("Your query return more than %s element for row."),$n),ERR_RES);
}
$arr[$i]=$row;
}
return $arr;
}
/**
* Torna il numero di righe affette dalla query.
* Da utilizzare con INSERT DELETE e UPDATE
*
* @param SqlQuery $sql
* @throws DbResException
* @return int
*/
function execQuery($sql) {
$this->last_query = $sql;
$r = mysqli_query($this->db_link,$sql);
if (!$r)
$this->callException(_("Query error."),E_DB_ERR);
return $this->row_count = mysqli_affected_rows($this->db_link);
}
/**
* Eseque una SqlQuery il cui risultato deve aver avuto effetto su 1 sola riga.
* Ritorna TRUE o solleva una eccezione altrimenti.
*
* @param SqlQuery $sql
* @throws DbResException
* @return boolean
*/
function execQueryOneRow($sql) {
self::execQuery($sql);
if ($this->row_count == 0)
$this->callException(_("No row affected."),ERR_RES);
elseif($this->row_count > 1)
$this->callException(_("More than 1 row are affected."),ERR_DB_RES);
}
/**
* Eseque una execQueryOneRow e ritorna l'ID della riga inserita.
* Ottenuto tramite AUTOINCREMENT; comoda per le INSERT.
*
* @param SqlQuery $sql
*/
function execQueryRetId($sql) {
$this->execQueryOneRow($sql);
return mysqli_insert_id($this->db_link);
}
/**
* Esegue una SELECT con $sql per verificare la presenza di un "id", se non esiste torna FALSE.
* Altrimenti torna l'ID cercato con la select.
* Se ritornano più risultati solleva un DbResException.
*
* @param SelectSqlQuery $sql
* @return mixed
*/
function isThereAlready($sql){
$id=FALSE;
$res=self::select($sql);
if($this->row_count == 1){
$row=mysqli_fetch_row($res);
$id=$row[0];
} elseif($this->row_count > 1 ) {
$this->callException(_("Are present more than 1 row."),ERR_DB_RES);
}
return $id;
}
function escapeString($string){
return mysqli_real_escape_string($this->db_link,$string);
}
/**
* Esegue un flush dei privilegi degli utenti mysql.
* Serve per assicurare che le operazioni effettuate con altre funzioni,
* come la creazione o la eliminazione di un utente, siano attive.
*/
function flushPrivileges(){
self::execQuery("FLUSH PRIVILEGES");
}
/**
* Se $debug è TRUE stampa la query $sql altrimenti tramite reflection esegue il metodo $action sulla query.
*
* @param boolean $debug TRUE|FALSE
* @param String $action Metodi della Classe Database
* @param SqlQuery $sql
*/
function sqlOrDebug($debug,$action,$sql){
$debug=true;
if (! $debug)
return self::$action($sql);
else
echo "DEBUG:OR: ".str_replace(array("\n","\r","\t","/\s\s+/"),"",$sql)."\n";
}
/**
* Se $debug è FALSE esegue tramite reflection il metodo $action sulla query $sql, altrimenti stampa anche la query.
*
* @param boolean $debug TRUE|FALSE
* @param String $action Metodi della Classe Database
* @param SqlQuery $sql
*/
function sqlAndDebug($debug,$action,$sql){
$debug=true;
if ($debug)
echo "DEBUG:AND: ".str_replace(array("\n","\r","\t","/\s\s+/"),"",$sql)."\n";
return self::$action($sql);
}
/**
* Ritorna l'ultimo errore ottenuto durante le azioni precedenti sul database.
*/
public function getLastError() {
return $this->last_error;
}
/**
* Ritorna l'ultima query effettuata
*/
public function getLastQuery() {
return $this->last_query;
}
}
?>

79
include/OExceptions.php Executable file
View file

@ -0,0 +1,79 @@
<?php
interface IException
{
/* Protected methods inherited from Exception class */
public function getMessage(); // Exception message
public function getCode(); // User-defined Exception code
public function getFile(); // Source filename
public function getLine(); // Source line
public function getTrace(); // An array of the backtrace()
public function getTraceAsString(); // Formated string of trace
/* Overrideable methods inherited from Exception class */
public function __toString(); // formated string for display
public function __construct($message = null, $code = 0);
}
abstract class CustomException extends Exception implements IException
{
private $trace; // Unknown
private $string; // Unknown
protected $message = 'Unknown exception'; // Exception message
protected $code = 0; // User-defined exception code
protected $file; // Source filename of exception
protected $line; // Source line of exception
public function __construct($message = null, $code = 0)
{
if (!$message) {
throw new $this('Unknown '. get_class($this));
}
parent::__construct("Err: ".$message."\n", $code);
}
public function __toString() {
$err=$this->message;
if($this->code!=0)
$err= get_class($this).
" '{$this->message}' in {$this->file}({$this->line})\n".
"{$this->getTraceAsString()}";
return $err;
}
}
class DbErrException extends CustomException{};
class DbResException extends DbErrException{};
class UsageException extends CustomException{
public function __construct($message = null, $code = 0)
{
if (!$message and $code == 0) {
throw new $this('Unknown '. get_class($this));
} elseif ($message != null and $code > 0) {
$argv="Err: ".$message."\n";
$message="Bad arg: ".$argv." is not a valid command, with ".$code." arguments\n";
$code=0;
}
parent::__construct($message, $code);
}
public function __toString() {
return $this->message;
}
}
class OtConfException extends CustomException{};
class FileException extends CustomException{
public function __toString() {
return $this->message;
}
};
?>

11
include/apteryx_text.php Executable file
View file

@ -0,0 +1,11 @@
<?php
$title_page = _("Accrocchio per creare alias di 24h per una propria email");
$form_goto_email = _("email:");
$title = _("Creatore di alias email giornalieri (24 ore)");
$msgAliasDonePart1 = _("Per le prossime 24 ore tutte le mail che arriveranno a:");
$msgAliasDonePart2 = _("verranno redirette a:");
$msgAliasErr = _("Creazione dell'alias fallita. Forse hai scritto male i dati, riprova.");
$msgAliasCant = _("Alias gia' esistente, riprova.");
$msgEmailValidErr= _("Email non valida");
$msgNoEmailFoundErr= _("Non esiste nessun alias per questa email");
?>

112
include/localization.php Executable file
View file

@ -0,0 +1,112 @@
<?php
/* CHANGELOG:
@1.1:
- supporta locale con forma la_LA, la, la_LA.utf-8, la_LA.UTF-8, la.UTF-8, la.utf-8
*/
$version="1.1";
$_td_stack = array(); // text domains stack
$langarray = array('it_IT','en_US','es_ES','de_DE','eo_EO');
//$lang = "eo_EO";
If (isSet($_GET["lang"]))
$lang = $_GET["lang"];
else {
$lang = $langarray[0];
/* vedi le preferenze del browser */
$user_langs = explode(",", getenv("HTTP_ACCEPT_LANGUAGE"));
foreach ($user_langs as $user_lang) {
$user_lang_items = explode(";", $user_lang);
if (in_array($user_lang_items[0], $langarray)) {
$lang = $user_lang_items[0];
break;
}
}
}
$charset="UTF-8";
$gettext_domain="messages";
$locale_dir="res/locale";
/**
* Il locale deve essere presente nel sistema usa "locale -a" per
* verificarlo, non ovunque si chiama allo stesso modo e non tutti
* i locali si chiamano allo stesso modo, l'esperanto ad esempio
* non rispetta la nomenclatura classica
*/
putenv("LC_ALL=$lang");
$l=split("_",$lang);
if(! setlocale(LC_ALL, $lang.".".$charset))
if(! setlocale(LC_ALL, $lang))
if(! setlocale(LC_ALL,$l[0].".".$charset))
setlocale(LC_ALL,$l[0]);
bindtextdomain($gettext_domain, "res/locale");
textdomain($gettext_domain);
bind_textdomain_codeset($gettext_domain, $charset);
function printLangSelector() {
global $lang;
global $langarray;
$targetname = $_SERVER['PHP_SELF'];
$l_arg="lang=";
$newQueryString="";
$queryString= $_SERVER['QUERY_STRING'];
$argS = explode("&",$queryString);
if(strpos($queryString,$l_arg)!==FALSE){
foreach ($argS as $arg){
if(strpos($arg,$l_arg)===FALSE)
$newQueryString.=$arg."&";
}
}
echo "<ul class='langsel'>";
foreach ($langarray as $l) {
$label=split("_",$l);
$class="";
if ($l == $lang)
$class="class='it'";
echo "<li ".$class."><a href='".$targetname."?".$newQueryString.$l_arg.$l."'>".$label[0]."</a></li>";
}
$foo = getenv("HTTP_ACCEPT_LANGUAGE");
echo "</ul>\n";
}
/**
* Sets a new text domain after recording the current one
* so it can be restored later with restore_textdomain().
*
* It's possible to nest calls to these two functions.
* @param string the new text domain to set
*/
function set_textdomain($td)
{
global $_td_stack;
$old_td = textdomain(NULL);
if ($old_td) {
if (!strcmp($old_td, $td))
array_push($_td_stack, false);
else
array_push($_td_stack, $old_td);
}
textdomain($td);
}
/**
* Restore the text domain active before the last call to
* set_textdomain().
*/
function restore_textdomain()
{
global $_td_stack;
$old_td = array_pop($_td_stack);
if ($old_td)
textdomain($old_td);
}
?>

64
include/randomimg.php Executable file
View file

@ -0,0 +1,64 @@
<?php
$folder = '../res/images';
$extList = array();
$extList['gif'] = 'image/gif';
$extList['jpg'] = 'image/jpeg';
$extList['jpeg'] = 'image/jpeg';
$extList['png'] = 'image/png';
$img = null;
if (substr($folder,-1) != '/') {
$folder = $folder.'/';
}
/*
//DEBUG: eseguire direttamente lo script, altrimenti non si vede output
var_dump($folder);
$handle = opendir($folder);
var_dump($handle);
exit;
*/
if (isset($_GET['img'])) {
$imageInfo = pathinfo($_GET['img']);
if (
isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
file_exists( $folder.$imageInfo['basename'] )
) {
$img = $folder.$imageInfo['basename'];
}
} else {
$fileList = array();
$handle = opendir($folder);
while ( false !== ( $file = readdir($handle) ) ) {
$file_info = pathinfo($file);
if (
isset( $extList[ strtolower( $file_info['extension'] ) ] )
) {
$fileList[] = $file;
}
}
closedir($handle);
if (count($fileList) > 0) {
$imageNumber = time() % count($fileList);
$img = $folder.$fileList[$imageNumber];
}
}
if ($img!=null) {
$imageInfo = pathinfo($img);
$contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
header ($contentType);
readfile($img);
} else {
if ( function_exists('imagecreate') ) {
header ("Content-type: image/png");
$im = @imagecreate (100, 100)
or die ("Cannot initialize new GD image stream");
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 0,0,0);
imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color);
imagepng ($im);
imagedestroy($im);
}
}
?>

68
include/template.php Executable file
View file

@ -0,0 +1,68 @@
<?php
include 'apteryx_text.php';
function printHead($type) {
global $title_page;
?>
<!DOCTYPE HTML>
<html>
<head>
<!--<meta charset="UTF-8">-->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title><?php echo $title_page; ?></title>
<link href='https://www.indivia.net/res/css/global.css' rel='stylesheet' type='text/css' >
<link href='https://tools.indivia.net/chpw/res/css/default.css' rel='stylesheet' type='text/css' >
<link href='res/css/apteryx.css' rel='stylesheet' type='text/css' >
</head>
<body>
<?php
if ($type == 0)
echo '<div class="random"> </div>';
else
echo '<br><br>';
?>
<div id="apteryx-box" class='homebox'>
<?php
}
/* crea il form */
function printForm($form_goto_email, $lang) {
?>
<form method='post' action='#'>
<table class='formtable'>
<tr>
<td><?php echo "$form_goto_email" ?></td>
<td><input type='text' name='email' size='32' class='field'></td>
</tr>
</table>
<div style='text-align: center'>
<input type='hidden' name='ph' value='1'>
<input type='hidden' name='lang' value='<?php echo "$lang" ?>'>
<input type='submit' value='Vai' class='gobutton'>
</div>
</form>
</div>
<?php
}
function printTitle($msg){ ?>
<h1>
<p style='text-align: center;'>
<?php echo $msg ?>
</p>
</h1><?php
}
function printBold($msg) {
?>
<p style='font-weight: bold; font-size: 120%; text-align: center;'><?php echo "$msg" ?></p><br>
<?php
}
function printMessage($msg) {
?>
<p style='text-align: center;'><?php echo "$msg" ?></p>
<?php
}
?>

85
include/util.php Executable file
View file

@ -0,0 +1,85 @@
<?php
function email_check($email) {
$isValid=TRUE;
$atIndex = strrpos($email, "@");
if (is_bool($atIndex) && !$atIndex) {
$isValid = FALSE;
} else {
$domain = substr($email, $atIndex+1);
$local = substr($email, 0, $atIndex);
$localLen = strlen($local);
$domainLen = strlen($domain);
//user troppo lungo
if ($localLen < 1 || $localLen > 64) {
$isValid = FALSE;
//l'user incomincia o termina con un . o a 2 .. consecutivi
} elseif ($local[0] == '.' || $local[$localLen-1] == '.' || consecutive_dot($local)) {
$isValid = FALSE;
} elseif (! isValidDomain($domain)) {
$isValid = FALSE;
} elseif(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) {
// character not valid in local part unless
// local part is quoted
if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))) {
$isValid = FALSE;
}
}
}
return $isValid;
}
function isValidDomain($domain) {
$isValid=true;
$domainLen = strlen($domain);
if ($domainLen < 4 || $domainLen > 255) {
$isValid = FALSE;
//l'user incomincia o termina con un . o a 2 .. consecutivi
} elseif (consecutive_dot($domain) || $domain[0] == '.' || $domain[$domainLen-1] == '.' ) {
$isValid = FALSE;
} elseif (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)) {
$isValid = FALSE;
//ha almeno un punto
} elseif (! strpos($domain, ".")) {
$isValid = FALSE;
} else {
//il dominio di primo livello è almeno 2 caratteri
$arr=explode(".", $domain);
if(strlen($arr[count($arr)-1])<2)
$isValid = FALSE;
}
return $isValid;
}
function consecutive_dot($string) {
$ret=false;
if(preg_match('/\\.\\./',$string))
$ret=true;
return $ret;
}
/**
* estrae dominio di secondo livello
*/
function dom($name){
$zon=explode(".",$name);
return implode(".",array_slice($zon,-3));
}
/* gets the data from a URL */
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>

111
index.php Executable file
View file

@ -0,0 +1,111 @@
<?php
// https://uichi.ortiche.net/index.php/Strutture_dati_di_posta
// version: 0.2
require_once('include/Database.php');
require_once('include/util.php');
require_once('include/localization.php');
require_once('include/template.php');
$err=$user=$email="";
$type="-1";
$rasplice_url="http://rasplice.contaminati.net/cgi-bin/rasplice.txt";
$indivia24hdomain="@24h.indivia.net";
$db=Database::getInstance('std');
function getSqlNumOfAlias($alias_tab,$alias_nic){
$sql = "SELECT count(*)
FROM $alias_tab
WHERE user = '$alias_nic'
AND active = 'Y'";
return $sql;
}
function getSqlCreateAlias($alias_tab, $alias_nic,$alias_dom,$goto_email,$timo){
$sql = "INSERT INTO $alias_tab (user, domain, active, tipo, goto, modified, md5salt, deleted)
VALUES ('$alias_nic', '$alias_dom', 'Y', 'alias', '$goto_email', '$timo','','0')";
return $sql;
}
function getSqlAliasInfo($goto_email){
$sql = "SELECT user
FROM 24h_indivia_net
WHERE goto = '$goto_email'
AND active = 'Y'";
return $sql;
}
//aliasing..
if (isset($_POST["ph"]) AND
$_POST["ph"]=="1" AND
$_POST['email'] != "") {
$goto_email_noescape = $_POST['email'];
$goto_email = $db->escapeString($goto_email_noescape);
if (email_check($goto_email)) {
//solo l'email alias deve non essere presente.
do {
$alias_nic = preg_replace('/\s+/', '', get_data($rasplice_url));
if($alias_nic===FALSE)
$alias_nic="email_".rand(10000,99999);
$alias_dom = substr($indivia24hdomain,1);
$alias_email = $alias_nic.$indivia24hdomain;
$alias_dom2lvl = dom($alias_dom);
$alias_tab = str_replace(".","_",$alias_dom2lvl);
$res = $db->isThereAlready(getSqlNumOfAlias($alias_tab,$alias_nic));
} while ($res != FALSE);
$timo=time();
$ret=$db->execQuery(getSqlCreateAlias($alias_tab,$alias_nic,$alias_dom,$goto_email,$timo));
if ($ret == 1) {
header("location: index.php?ph=2&email=".$goto_email."&lang=".$lang);
} else {
$type=1;
$err=$msgAliasErr;
}
} else {
$type=1;
$err=$msgEmailValidErr;
}
} elseif (isset($_GET["ph"]) AND
$_GET['ph'] == 2 AND
isset($_GET['email'])) {
$goto_email_noescape = $_GET['email'];
$goto_email = $db->escapeString($goto_email_noescape);
$rows = $db->select(getSqlAliasInfo($goto_email));
$row = mysqli_fetch_row($rows);
if ($row[0] != "") {
$type=2;
$user=$row[0];
$email=$goto_email;
} else {
$type=1;
$err=$msgNoEmailFoundErr;
}
} else {
$type=0;
}
if($type>-1) {
printHead($type);
printLangSelector();
printTitle($title);
switch ($type) {
case 0:
printForm($form_goto_email, $lang);
break;
case 1:
printMessage($err);
break;
case 2:
printMessage($msgAliasDonePart1).
printBold($user.$indivia24hdomain).
printMessage($msgAliasDonePart2).
printBold($email);
break;
}
}
?>

15
res/css/apteryx.css Normal file
View file

@ -0,0 +1,15 @@
#apteryx-box{
margin: 0 auto;
padding-bottom:8px;
width:38em;
min-height:105px;
}
div.random {
margin-left:auto;
margin-right:auto;
margin-bottom:2em;
width: 400px;
height: 350px;
background: url(../../include/randomimg.php) no-repeat center;
}

10
res/file/CHANGELOG Normal file
View file

@ -0,0 +1,10 @@
@0.2.1
- Fix dell'url dell'import di un css
- Fix del bug che comprometteva la creazione del nuovo alias
@0.2
- Utilizzo della Classe Wrapper Database realizzata inizialmente per OT
- Modificato il sistema di internazionalizzazione per l'utilizzo di gettext()
- Aggiunte le traduzioni in: italiano, inglese e parziale in esperanto
- Revisione del modo in cui viene prodotto l'html e lo style css
- Pulizia del codice e standardizzazione delle directory sul modello i*
- Utilizzo di rasplice.contaminati.net per creare email con user più reale

2
res/file/TODO Normal file
View file

@ -0,0 +1,2 @@
- finirire la traduzione in esperanto
- tradurre in tedesco e spagnolo

BIN
res/images/orologio1.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

BIN
res/images/orologio10.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

BIN
res/images/orologio11.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

BIN
res/images/orologio12.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

BIN
res/images/orologio13.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

BIN
res/images/orologio14.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

BIN
res/images/orologio15.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
res/images/orologio2.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

BIN
res/images/orologio3.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
res/images/orologio4.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

BIN
res/images/orologio5.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
res/images/orologio6.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
res/images/orologio7.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

BIN
res/images/orologio8.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

BIN
res/images/orologio9.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

53
res/locale/apteryx.pot Normal file
View file

@ -0,0 +1,53 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 0.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr ""
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr ""
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr ""
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr ""
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr ""
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr ""
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr ""
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr ""
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr ""

View file

@ -0,0 +1,54 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: 2013-04-12 14:12+0000\n"
"Last-Translator: gin(e) <ginex@posta.indivia.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1365775939.0\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr "Item to create an email alias for 24 hours "
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr "email:"
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr "Creator of daily email alias (24 hours)"
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr "For the next 24 hours all email sent to:"
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr "will redirect to:"
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr "Creation failed. Maybe you have written wrongs informations, retry."
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr "Alias already exits, retry."
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr "Invalid Email"
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr "There are no email alias for that email address"

Binary file not shown.

View file

@ -0,0 +1,111 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: 2013-04-12 14:12+0000\n"
"Last-Translator: gin(e) <ginex@posta.indivia.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1365775939.0\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr "Item to create an email alias for 24 hours "
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr "email:"
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr "Creator of daily email alias (24 hours)"
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr "For the next 24 hours all email sent to:"
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr "will redirect to:"
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr "Creation failed. Maybe you have written wrongs informations, retry."
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr "Alias already exits, retry."
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr "Invalid Email"
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr "There are no email alias for that email address"
#: Database.php:98
msgid "Database connection problem."
msgstr "Database connection problem."
#: Database.php:122
msgid "what shit?!"
msgstr "what shit?!"
#: Database.php:139
msgid "Database selection problem."
msgstr "Database selection problem."
#: Database.php:158
msgid "Query select error."
msgstr "Query select error."
#: Database.php:174
msgid "Your query returned "
msgstr "Your query returned "
#: Database.php:178
msgid "more than one result."
msgstr "more than one result."
#: Database.php:180
msgid "less than one result."
msgstr "less than one result."
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr "Your query returned more or less that one result."
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr "Your query return more than 1 element for row."
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr "Your query return more than %s element for row."
#: Database.php:269
msgid "Query error."
msgstr "Query error."
#: Database.php:285
msgid "No row affected."
msgstr "No row affected."
#: Database.php:287
msgid "More than 1 row are affected."
msgstr "More than 1 row are affected."
#: Database.php:318
msgid "Are present more than 1 row."
msgstr "Are present more than 1 row."

View file

@ -0,0 +1,76 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-16 15:53+0200\n"
"PO-Revision-Date: 2013-08-16 14:49+0000\n"
"Last-Translator: gin(e) <ginex@posta.indivia.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0\n"
"X-POOTLE-MTIME: 1376664594.0\n"
#: Database.php:98
msgid "Database connection problem."
msgstr "Database connection problem."
#: Database.php:122
msgid "what shit?!"
msgstr "what shit?!"
#: Database.php:139
msgid "Database selection problem."
msgstr "Database selection problem."
#: Database.php:158
msgid "Query select error."
msgstr "Query select error."
#: Database.php:174
msgid "Your query returned "
msgstr "Your query returned "
#: Database.php:178
msgid "more than one result."
msgstr "more than one result."
#: Database.php:180
msgid "less than one result."
msgstr "less than one result."
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr "Your query returned more or less that one result."
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr "Your query return more than 1 element for row."
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr "Your query return more than %s element for row."
#: Database.php:269
msgid "Query error."
msgstr "Query error."
#: Database.php:285
msgid "No row affected."
msgstr "No row affected."
#: Database.php:287
msgid "More than 1 row are affected."
msgstr "More than 1 row are affected."
#: Database.php:318
msgid "Are present more than 1 row."
msgstr "Are present more than 1 row."

View file

@ -0,0 +1,54 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: 2013-04-12 14:00+0000\n"
"Last-Translator: gin(e) <ginex@posta.indivia.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1365775226.0\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr "Alternativilo por krei Aliasojn 24hore por propra retpoŝtadreso"
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr "Retpoŝtadreso:"
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr "Kreanto de retpoŝtaliasoj tuttage (24 horoj)"
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr "Por la proksimaj 24 horoj ĉiuj retpoŝtoj kiuj alvenos al:"
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr "estos alidirektonta al:"
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr "Aliaskreado fiaskis. Eble vi skribis datenojn nekorekte, reprovu."
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr "Aliaso jam ekzistas, reprovu."
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr "Nekorekta retpoŝtadreso"
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr "Neniu Aliaso ekzistas por tiu ĉi repoŝtadreso"

Binary file not shown.

View file

@ -0,0 +1,112 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: 2013-04-12 14:00+0000\n"
"Last-Translator: gin(e) <ginex@posta.indivia.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1365775226.0\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr "Alternativilo por krei Aliasojn 24hore por propra retpoŝtadreso"
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr "Retpoŝtadreso:"
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr "Kreanto de retpoŝtaliasoj tuttage (24 horoj)"
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr "Por la proksimaj 24 horoj ĉiuj retpoŝtoj kiuj alvenos al:"
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr "estos alidirektonta al:"
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr "Aliaskreado fiaskis. Eble vi skribis datenojn nekorekte, reprovu."
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr "Aliaso jam ekzistas, reprovu."
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr "Nekorekta retpoŝtadreso"
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr "Neniu Aliaso ekzistas por tiu ĉi repoŝtadreso"
#: Database.php:98
msgid "Database connection problem."
msgstr ""
#: Database.php:122
msgid "what shit?!"
msgstr ""
#: Database.php:139
msgid "Database selection problem."
msgstr ""
#: Database.php:158
msgid "Query select error."
msgstr ""
#: Database.php:174
msgid "Your query returned "
msgstr ""
#: Database.php:178
msgid "more than one result."
msgstr ""
#: Database.php:180
msgid "less than one result."
msgstr ""
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr ""
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr ""
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr ""
#: Database.php:269
msgid "Query error."
msgstr ""
#: Database.php:285
msgid "No row affected."
msgstr ""
#: Database.php:287
msgid "More than 1 row are affected."
msgstr ""
#: Database.php:318
msgid "Are present more than 1 row."
msgstr ""

View file

@ -0,0 +1,74 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-16 15:53+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 1.10.0\n"
#: Database.php:98
msgid "Database connection problem."
msgstr ""
#: Database.php:122
msgid "what shit?!"
msgstr ""
#: Database.php:139
msgid "Database selection problem."
msgstr ""
#: Database.php:158
msgid "Query select error."
msgstr ""
#: Database.php:174
msgid "Your query returned "
msgstr ""
#: Database.php:178
msgid "more than one result."
msgstr ""
#: Database.php:180
msgid "less than one result."
msgstr ""
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr ""
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr ""
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr ""
#: Database.php:269
msgid "Query error."
msgstr ""
#: Database.php:285
msgid "No row affected."
msgstr ""
#: Database.php:287
msgid "More than 1 row are affected."
msgstr ""
#: Database.php:318
msgid "Are present more than 1 row."
msgstr ""

View file

@ -0,0 +1,54 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: 2013-04-12 14:00+0000\n"
"Last-Translator: gin(e) <ginex@posta.indivia.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1365775226.0\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr "Alternativilo por krei Aliasojn 24hore por propra retpoŝtadreso"
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr "Retpoŝtadreso:"
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr "Kreanto de retpoŝtaliasoj tuttage (24 horoj)"
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr "Por la proksimaj 24 horoj ĉiuj retpoŝtoj kiuj alvenos al:"
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr "estos alidirektonta al:"
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr "Aliaskreado fiaskis. Eble vi skribis datenojn nekorekte, reprovu."
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr "Aliaso jam ekzistas, reprovu."
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr "Nekorekta retpoŝtadreso"
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr "Neniu Aliaso ekzistas por tiu ĉi repoŝtadreso"

Binary file not shown.

View file

@ -0,0 +1,112 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: 2013-04-12 14:00+0000\n"
"Last-Translator: gin(e) <ginex@posta.indivia.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1365775226.0\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr "Alternativilo por krei Aliasojn 24hore por propra retpoŝtadreso"
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr "Retpoŝtadreso:"
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr "Kreanto de retpoŝtaliasoj tuttage (24 horoj)"
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr "Por la proksimaj 24 horoj ĉiuj retpoŝtoj kiuj alvenos al:"
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr "estos alidirektonta al:"
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr "Aliaskreado fiaskis. Eble vi skribis datenojn nekorekte, reprovu."
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr "Aliaso jam ekzistas, reprovu."
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr "Nekorekta retpoŝtadreso"
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr "Neniu Aliaso ekzistas por tiu ĉi repoŝtadreso"
#: Database.php:98
msgid "Database connection problem."
msgstr ""
#: Database.php:122
msgid "what shit?!"
msgstr ""
#: Database.php:139
msgid "Database selection problem."
msgstr ""
#: Database.php:158
msgid "Query select error."
msgstr ""
#: Database.php:174
msgid "Your query returned "
msgstr ""
#: Database.php:178
msgid "more than one result."
msgstr ""
#: Database.php:180
msgid "less than one result."
msgstr ""
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr ""
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr ""
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr ""
#: Database.php:269
msgid "Query error."
msgstr ""
#: Database.php:285
msgid "No row affected."
msgstr ""
#: Database.php:287
msgid "More than 1 row are affected."
msgstr ""
#: Database.php:318
msgid "Are present more than 1 row."
msgstr ""

View file

@ -0,0 +1,74 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-16 15:53+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: eo\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Translate Toolkit 1.10.0\n"
#: Database.php:98
msgid "Database connection problem."
msgstr ""
#: Database.php:122
msgid "what shit?!"
msgstr ""
#: Database.php:139
msgid "Database selection problem."
msgstr ""
#: Database.php:158
msgid "Query select error."
msgstr ""
#: Database.php:174
msgid "Your query returned "
msgstr ""
#: Database.php:178
msgid "more than one result."
msgstr ""
#: Database.php:180
msgid "less than one result."
msgstr ""
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr ""
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr ""
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr ""
#: Database.php:269
msgid "Query error."
msgstr ""
#: Database.php:285
msgid "No row affected."
msgstr ""
#: Database.php:287
msgid "More than 1 row are affected."
msgstr ""
#: Database.php:318
msgid "Are present more than 1 row."
msgstr ""

View file

@ -0,0 +1,54 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: 2013-04-12 14:04+0000\n"
"Last-Translator: Anonymous Pootle User\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1365775488.0\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr "Accrocchio per creare alias di 24h per una propria email"
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr "email:"
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr "Creatore di alias email giornalieri (24 ore)"
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr "Per le prossime 24 ore tutte le mail che arriveranno a:"
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr "verranno redirette a:"
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr "Alias gia' esistente, riprova."
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr "Email non valida"
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr "Non esiste nessun alias per questa email"

Binary file not shown.

View file

@ -0,0 +1,112 @@
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: 2013-04-12 14:04+0000\n"
"Last-Translator: Anonymous Pootle User\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0-rc1\n"
"X-POOTLE-MTIME: 1365775488.0\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr "Accrocchio per creare alias di 24h per una propria email"
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr "email:"
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr "Creatore di alias email giornalieri (24 ore)"
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr "Per le prossime 24 ore tutte le mail che arriveranno a:"
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr "verranno redirette a:"
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr "Alias gia' esistente, riprova."
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr "Email non valida"
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr "Non esiste nessun alias per questa email"
#: Database.php:98
msgid "Database connection problem."
msgstr "Non è possibile connettersi al dbms."
#: Database.php:122
msgid "what shit?!"
msgstr "ma che cazzo?!"
#: Database.php:139
msgid "Database selection problem."
msgstr "Problema nella selezione del database."
#: Database.php:158
msgid "Query select error."
msgstr "Errore nell'interrogazione del database."
#: Database.php:174
msgid "Your query returned "
msgstr "L'interrogazione effettuata è tornata con "
#: Database.php:178
msgid "more than one result."
msgstr "più di un risultato."
#: Database.php:180
msgid "less than one result."
msgstr "meno di un risultato."
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr "L'interrogazione effettuata è tornata con più o meno di un risultato."
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr "L'interrogazione è tornata con più di un attributo per riga."
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr "L'interrogazione è tornata con più %s attributi per riga."
#: Database.php:269
msgid "Query error."
msgstr "Errore nell'esecuzione di una query."
#: Database.php:285
msgid "No row affected."
msgstr "Nessuna riga alterata."
#: Database.php:287
msgid "More than 1 row are affected."
msgstr "Più di una riga alterata."
#: Database.php:318
msgid "Are present more than 1 row."
msgstr "Sono presenti più di una riga."

View file

@ -0,0 +1,76 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-16 15:53+0200\n"
"PO-Revision-Date: 2013-08-16 14:29+0000\n"
"Last-Translator: gin(e) <ginex@posta.indivia.net>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Pootle 2.5.0\n"
"X-POOTLE-MTIME: 1376663369.0\n"
#: Database.php:98
msgid "Database connection problem."
msgstr "Non è possibile connettersi al dbms."
#: Database.php:122
msgid "what shit?!"
msgstr "ma che cazzo?!"
#: Database.php:139
msgid "Database selection problem."
msgstr "Problema nella selezione del database."
#: Database.php:158
msgid "Query select error."
msgstr "Errore nell'interrogazione del database."
#: Database.php:174
msgid "Your query returned "
msgstr "L'interrogazione effettuata è tornata con "
#: Database.php:178
msgid "more than one result."
msgstr "più di un risultato."
#: Database.php:180
msgid "less than one result."
msgstr "meno di un risultato."
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr "L'interrogazione effettuata è tornata con più o meno di un risultato."
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr "L'interrogazione è tornata con più di un attributo per riga."
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr "L'interrogazione è tornata con più %s attributi per riga."
#: Database.php:269
msgid "Query error."
msgstr "Errore nell'esecuzione di una query."
#: Database.php:285
msgid "No row affected."
msgstr "Nessuna riga alterata."
#: Database.php:287
msgid "More than 1 row are affected."
msgstr "Più di una riga alterata."
#: Database.php:318
msgid "Are present more than 1 row."
msgstr "Sono presenti più di una riga."

117
res/locale/messages.pot Normal file
View file

@ -0,0 +1,117 @@
# #-#-#-#-# apteryx.pot (0.2) #-#-#-#-#
# apteryx.indivia.net
# This file is distributed under the same license as the "iApteryx" package.
# gin(e) <gine@riseup.net>, 2013
#
# #-#-#-#-# otdblib.pot (1.2) #-#-#-#-#
# OTDbLib template translation.
# Copyright (C) 2013.
# This file is distributed under the same license as the OTDbLib package.
# gin(e) <gine@riseup.net>, 2013.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 0.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-02-24 13:14+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../include/apteryx_text.php:2
msgid "Accrocchio per creare alias di 24h per una propria email"
msgstr ""
#: ../../include/apteryx_text.php:3
msgid "email:"
msgstr ""
#: ../../include/apteryx_text.php:4
msgid "Creatore di alias email giornalieri (24 ore)"
msgstr ""
#: ../../include/apteryx_text.php:5
msgid "Per le prossime 24 ore tutte le mail che arriveranno a:"
msgstr ""
#: ../../include/apteryx_text.php:6
msgid "verranno redirette a:"
msgstr ""
#: ../../include/apteryx_text.php:7
msgid "Creazione dell'alias fallita. Forse hai scritto male i dati, riprova."
msgstr ""
#: ../../include/apteryx_text.php:8
msgid "Alias gia' esistente, riprova."
msgstr ""
#: ../../include/apteryx_text.php:9
msgid "Email non valida"
msgstr ""
#: ../../include/apteryx_text.php:10
msgid "Non esiste nessun alias per questa email"
msgstr ""
#: Database.php:98
msgid "Database connection problem."
msgstr ""
#: Database.php:122
msgid "what shit?!"
msgstr ""
#: Database.php:139
msgid "Database selection problem."
msgstr ""
#: Database.php:158
msgid "Query select error."
msgstr ""
#: Database.php:174
msgid "Your query returned "
msgstr ""
#: Database.php:178
msgid "more than one result."
msgstr ""
#: Database.php:180
msgid "less than one result."
msgstr ""
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr ""
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr ""
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr ""
#: Database.php:269
msgid "Query error."
msgstr ""
#: Database.php:285
msgid "No row affected."
msgstr ""
#: Database.php:287
msgid "More than 1 row are affected."
msgstr ""
#: Database.php:318
msgid "Are present more than 1 row."
msgstr ""

75
res/locale/otdblib.pot Normal file
View file

@ -0,0 +1,75 @@
# OTDbLib template translation.
# Copyright (C) 2013.
# This file is distributed under the same license as the OTDbLib package.
# gin(e) <gine@riseup.net>, 2013.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: 1.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-08-16 15:53+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: Database.php:98
msgid "Database connection problem."
msgstr ""
#: Database.php:122
msgid "what shit?!"
msgstr ""
#: Database.php:139
msgid "Database selection problem."
msgstr ""
#: Database.php:158
msgid "Query select error."
msgstr ""
#: Database.php:174
msgid "Your query returned "
msgstr ""
#: Database.php:178
msgid "more than one result."
msgstr ""
#: Database.php:180
msgid "less than one result."
msgstr ""
#: Database.php:197
msgid "Your query returned more or less that one result."
msgstr ""
#: Database.php:222
msgid "Your query return more than 1 element for row."
msgstr ""
#: Database.php:248
#, php-format
msgid "Your query return more than %s element for row."
msgstr ""
#: Database.php:269
msgid "Query error."
msgstr ""
#: Database.php:285
msgid "No row affected."
msgstr ""
#: Database.php:287
msgid "More than 1 row are affected."
msgstr ""
#: Database.php:318
msgid "Are present more than 1 row."
msgstr ""