diff --git a/config/db.php b/config/db.php new file mode 100755 index 0000000..a0be03a --- /dev/null +++ b/config/db.php @@ -0,0 +1,6 @@ + diff --git a/include/Database.c.php b/include/Database.c.php new file mode 100755 index 0000000..7ad8b68 --- /dev/null +++ b/include/Database.c.php @@ -0,0 +1,399 @@ +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; + } +} +?> diff --git a/include/Database.php b/include/Database.php new file mode 100755 index 0000000..c9c38c6 --- /dev/null +++ b/include/Database.php @@ -0,0 +1,381 @@ +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; + } +} +?> diff --git a/include/OExceptions.php b/include/OExceptions.php new file mode 100755 index 0000000..1c23a14 --- /dev/null +++ b/include/OExceptions.php @@ -0,0 +1,79 @@ +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; + } +}; + +?> \ No newline at end of file diff --git a/include/apteryx_text.php b/include/apteryx_text.php new file mode 100755 index 0000000..0e2a263 --- /dev/null +++ b/include/apteryx_text.php @@ -0,0 +1,11 @@ + diff --git a/include/localization.php b/include/localization.php new file mode 100755 index 0000000..90545bd --- /dev/null +++ b/include/localization.php @@ -0,0 +1,112 @@ +"; + foreach ($langarray as $l) { + $label=split("_",$l); + $class=""; + if ($l == $lang) + $class="class='it'"; + + echo "
  • ".$label[0]."
  • "; + } + $foo = getenv("HTTP_ACCEPT_LANGUAGE"); + echo "\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); +} +?> diff --git a/include/randomimg.php b/include/randomimg.php new file mode 100755 index 0000000..1a70c5c --- /dev/null +++ b/include/randomimg.php @@ -0,0 +1,64 @@ + 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); + } +} +?> diff --git a/include/template.php b/include/template.php new file mode 100755 index 0000000..5eb9836 --- /dev/null +++ b/include/template.php @@ -0,0 +1,68 @@ + + + + + + + <?php echo $title_page; ?> + + + + + + '; +else + echo '

    '; + +?> +
    + +
    + + + + + +
    +
    + + + +
    +
    +
    + +

    +

    + +

    +

    +


    + +

    + + diff --git a/include/util.php b/include/util.php new file mode 100755 index 0000000..af65dae --- /dev/null +++ b/include/util.php @@ -0,0 +1,85 @@ + 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; +} +?> diff --git a/index.php b/index.php new file mode 100755 index 0000000..cb8be22 --- /dev/null +++ b/index.php @@ -0,0 +1,111 @@ +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; + } +} + +?> diff --git a/res/css/apteryx.css b/res/css/apteryx.css new file mode 100644 index 0000000..c81226d --- /dev/null +++ b/res/css/apteryx.css @@ -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; +} diff --git a/res/file/CHANGELOG b/res/file/CHANGELOG new file mode 100644 index 0000000..34e8e90 --- /dev/null +++ b/res/file/CHANGELOG @@ -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 diff --git a/res/file/TODO b/res/file/TODO new file mode 100644 index 0000000..4ecdd5d --- /dev/null +++ b/res/file/TODO @@ -0,0 +1,2 @@ +- finirire la traduzione in esperanto +- tradurre in tedesco e spagnolo diff --git a/res/images/orologio1.png b/res/images/orologio1.png new file mode 100755 index 0000000..b13e142 Binary files /dev/null and b/res/images/orologio1.png differ diff --git a/res/images/orologio10.png b/res/images/orologio10.png new file mode 100755 index 0000000..7ad915b Binary files /dev/null and b/res/images/orologio10.png differ diff --git a/res/images/orologio11.png b/res/images/orologio11.png new file mode 100755 index 0000000..90b1c06 Binary files /dev/null and b/res/images/orologio11.png differ diff --git a/res/images/orologio12.png b/res/images/orologio12.png new file mode 100755 index 0000000..14e4057 Binary files /dev/null and b/res/images/orologio12.png differ diff --git a/res/images/orologio13.png b/res/images/orologio13.png new file mode 100755 index 0000000..6e9969f Binary files /dev/null and b/res/images/orologio13.png differ diff --git a/res/images/orologio14.png b/res/images/orologio14.png new file mode 100755 index 0000000..a92a1ae Binary files /dev/null and b/res/images/orologio14.png differ diff --git a/res/images/orologio15.png b/res/images/orologio15.png new file mode 100755 index 0000000..1fccffc Binary files /dev/null and b/res/images/orologio15.png differ diff --git a/res/images/orologio2.png b/res/images/orologio2.png new file mode 100755 index 0000000..6606d78 Binary files /dev/null and b/res/images/orologio2.png differ diff --git a/res/images/orologio3.png b/res/images/orologio3.png new file mode 100755 index 0000000..76278a4 Binary files /dev/null and b/res/images/orologio3.png differ diff --git a/res/images/orologio4.png b/res/images/orologio4.png new file mode 100755 index 0000000..f46e9be Binary files /dev/null and b/res/images/orologio4.png differ diff --git a/res/images/orologio5.png b/res/images/orologio5.png new file mode 100755 index 0000000..55585b7 Binary files /dev/null and b/res/images/orologio5.png differ diff --git a/res/images/orologio6.png b/res/images/orologio6.png new file mode 100755 index 0000000..ec03419 Binary files /dev/null and b/res/images/orologio6.png differ diff --git a/res/images/orologio7.png b/res/images/orologio7.png new file mode 100755 index 0000000..a3671b5 Binary files /dev/null and b/res/images/orologio7.png differ diff --git a/res/images/orologio8.png b/res/images/orologio8.png new file mode 100755 index 0000000..34c0fc5 Binary files /dev/null and b/res/images/orologio8.png differ diff --git a/res/images/orologio9.png b/res/images/orologio9.png new file mode 100755 index 0000000..914d867 Binary files /dev/null and b/res/images/orologio9.png differ diff --git a/res/locale/apteryx.pot b/res/locale/apteryx.pot new file mode 100644 index 0000000..73615cf --- /dev/null +++ b/res/locale/apteryx.pot @@ -0,0 +1,53 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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 \n" +"Language-Team: LANGUAGE \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 "" diff --git a/res/locale/en_US/LC_MESSAGES/apteryx.po b/res/locale/en_US/LC_MESSAGES/apteryx.po new file mode 100644 index 0000000..8d9bc83 --- /dev/null +++ b/res/locale/en_US/LC_MESSAGES/apteryx.po @@ -0,0 +1,54 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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) \n" +"Language-Team: LANGUAGE \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" diff --git a/res/locale/en_US/LC_MESSAGES/messages.mo b/res/locale/en_US/LC_MESSAGES/messages.mo new file mode 100644 index 0000000..4388d64 Binary files /dev/null and b/res/locale/en_US/LC_MESSAGES/messages.mo differ diff --git a/res/locale/en_US/LC_MESSAGES/messages.po b/res/locale/en_US/LC_MESSAGES/messages.po new file mode 100644 index 0000000..9d36f2c --- /dev/null +++ b/res/locale/en_US/LC_MESSAGES/messages.po @@ -0,0 +1,111 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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) \n" +"Language-Team: LANGUAGE \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." diff --git a/res/locale/en_US/LC_MESSAGES/otdblib.po b/res/locale/en_US/LC_MESSAGES/otdblib.po new file mode 100644 index 0000000..dbb0b99 --- /dev/null +++ b/res/locale/en_US/LC_MESSAGES/otdblib.po @@ -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 , 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) \n" +"Language-Team: LANGUAGE \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." diff --git a/res/locale/eo/LC_MESSAGES/apteryx.po b/res/locale/eo/LC_MESSAGES/apteryx.po new file mode 100644 index 0000000..6589d64 --- /dev/null +++ b/res/locale/eo/LC_MESSAGES/apteryx.po @@ -0,0 +1,54 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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) \n" +"Language-Team: LANGUAGE \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" diff --git a/res/locale/eo/LC_MESSAGES/messages.mo b/res/locale/eo/LC_MESSAGES/messages.mo new file mode 100644 index 0000000..47044ba Binary files /dev/null and b/res/locale/eo/LC_MESSAGES/messages.mo differ diff --git a/res/locale/eo/LC_MESSAGES/messages.po b/res/locale/eo/LC_MESSAGES/messages.po new file mode 100644 index 0000000..dd0a80b --- /dev/null +++ b/res/locale/eo/LC_MESSAGES/messages.po @@ -0,0 +1,112 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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) \n" +"Language-Team: LANGUAGE \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 "" diff --git a/res/locale/eo/LC_MESSAGES/otdblib.po b/res/locale/eo/LC_MESSAGES/otdblib.po new file mode 100644 index 0000000..54ef450 --- /dev/null +++ b/res/locale/eo/LC_MESSAGES/otdblib.po @@ -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 , 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 \n" +"Language-Team: LANGUAGE \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 "" diff --git a/res/locale/eo_EO/LC_MESSAGES/apteryx.po b/res/locale/eo_EO/LC_MESSAGES/apteryx.po new file mode 100644 index 0000000..6589d64 --- /dev/null +++ b/res/locale/eo_EO/LC_MESSAGES/apteryx.po @@ -0,0 +1,54 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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) \n" +"Language-Team: LANGUAGE \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" diff --git a/res/locale/eo_EO/LC_MESSAGES/messages.mo b/res/locale/eo_EO/LC_MESSAGES/messages.mo new file mode 100644 index 0000000..47044ba Binary files /dev/null and b/res/locale/eo_EO/LC_MESSAGES/messages.mo differ diff --git a/res/locale/eo_EO/LC_MESSAGES/messages.po b/res/locale/eo_EO/LC_MESSAGES/messages.po new file mode 100644 index 0000000..dd0a80b --- /dev/null +++ b/res/locale/eo_EO/LC_MESSAGES/messages.po @@ -0,0 +1,112 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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) \n" +"Language-Team: LANGUAGE \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 "" diff --git a/res/locale/eo_EO/LC_MESSAGES/otdblib.po b/res/locale/eo_EO/LC_MESSAGES/otdblib.po new file mode 100644 index 0000000..54ef450 --- /dev/null +++ b/res/locale/eo_EO/LC_MESSAGES/otdblib.po @@ -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 , 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 \n" +"Language-Team: LANGUAGE \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 "" diff --git a/res/locale/it_IT/LC_MESSAGES/apteryx.po b/res/locale/it_IT/LC_MESSAGES/apteryx.po new file mode 100644 index 0000000..befdbac --- /dev/null +++ b/res/locale/it_IT/LC_MESSAGES/apteryx.po @@ -0,0 +1,54 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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 \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" diff --git a/res/locale/it_IT/LC_MESSAGES/messages.mo b/res/locale/it_IT/LC_MESSAGES/messages.mo new file mode 100644 index 0000000..4b70077 Binary files /dev/null and b/res/locale/it_IT/LC_MESSAGES/messages.mo differ diff --git a/res/locale/it_IT/LC_MESSAGES/messages.po b/res/locale/it_IT/LC_MESSAGES/messages.po new file mode 100644 index 0000000..e043696 --- /dev/null +++ b/res/locale/it_IT/LC_MESSAGES/messages.po @@ -0,0 +1,112 @@ +# apteryx.indivia.net +# This file is distributed under the same license as the "iApteryx" package. +# gin(e) , 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 \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." diff --git a/res/locale/it_IT/LC_MESSAGES/otdblib.po b/res/locale/it_IT/LC_MESSAGES/otdblib.po new file mode 100644 index 0000000..2e26827 --- /dev/null +++ b/res/locale/it_IT/LC_MESSAGES/otdblib.po @@ -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 , 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) \n" +"Language-Team: LANGUAGE \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." diff --git a/res/locale/messages.pot b/res/locale/messages.pot new file mode 100644 index 0000000..eda64d7 --- /dev/null +++ b/res/locale/messages.pot @@ -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) , 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) , 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 \n" +"Language-Team: LANGUAGE \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 "" diff --git a/res/locale/otdblib.pot b/res/locale/otdblib.pot new file mode 100644 index 0000000..482bc8c --- /dev/null +++ b/res/locale/otdblib.pot @@ -0,0 +1,75 @@ +# OTDbLib template translation. +# Copyright (C) 2013. +# This file is distributed under the same license as the OTDbLib package. +# gin(e) , 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 \n" +"Language-Team: LANGUAGE \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 ""