/** * Calcula a idade em anos * @param string $Nascimento * @param string $DataReferencia * @return int */ public static function idade($Nascimento, $DataReferencia = 'NOW') { $inicio = Date::data($Nascimento); $fim = $DataReferencia == 'NOW' ? date('Y-m-d') : Date::data($DataReferencia); $anos = Date::year($fim) - Date::year($inicio); return $anos; }
/** * Formata o valor * @param mixed $value * @param string $type * @param boolean $formatar * @return mixed */ function formatValue($value, $type, $formatar) { switch (strtolower($type)) { case 'data': case 'dt': case 'date': $value = Date::data((string) $value); return $formatar ? Date::formatData($value) : $value; break; case 'timestamp': case 'datatime': $value = Date::timestamp((string) $value); return $formatar ? Date::formatDataTime($value) : $value; break; case 'real': return $formatar ? Number::real($value) : Number::float($value, 2); case 'hide': return $formatar ? null : $value; break; case 'array': return $formatar ? stringToArray($value) : arrayToString($value); break; default: return $value; } }
/** * Efetua uma busca complexa a partir dos parâmetros passados * @param array $Paranmetros * @param int $CurrentPage * @param int $PorPagina * @param string $OrderBy * @return Pagination */ function Busca(array $Paranmetros = null, $CurrentPage = 1, $PorPagina = 10, $OrderBy = 'rand()') { $Termos = 'WHERE a.status != 99'; $Places = []; if ($Paranmetros) { foreach ($Paranmetros as $key => $value) { if (!isEmpty($value) and !empty($key)) { switch ($key) { case 'data': $Termos .= " AND ((a.inicio = a.fim AND a.inicio = '0000-00-00') OR (:data BETWEEN a.inicio AND a.fim))"; $Places['data'] = Date::data($value); break; case 'dia': $Termos .= ' AND (a.dias LIKE "%[*]%" OR a.dias LIKE CONCAT("%[",:dia,"]%"))'; $Places['dia'] = $value; break; case 'status': case 'ref': $Termos .= " AND a.{$key} = :{$key}"; $Places[$key] = $value; break; case 'title': $Termos .= ' AND (a.title CONCAT("%",:title,"%"))'; $Places['title'] = $value; break; } } } } return $this->ListaPagination("{$Termos} ORDER BY {$OrderBy}", $Places, $CurrentPage, $PorPagina); }
/** * * @param array $Parans * @param int $CurrentPage * @param int $PorPagina * @return Pagination */ function Busca(array $Parans = null, $CurrentPage = 1, $PorPagina = 20) { $Termos = 'WHERE a.status != 99'; $Places = []; if ($Parans) { foreach ($Parans as $key => $value) { if (!isEmpty($value) and !empty($key)) { switch ($key) { case 'status': case 'ref': $Termos .= " AND a.{$key} = :{$key}"; $Places[$key] = $value; break; case 'data': $value = Date::data($value); $Termos .= " AND a.{$key} = :{$key}"; $Places[$key] = $value; break; } } } } return $this->ListaPagination($Termos, $Places, $CurrentPage, $PorPagina); }
$smarty->assign("contents", $text); $smarty->assign("url_cms", $cms->url_cms()); $smarty->assign("url_smartytpl", $cms->url_smartytpl()); $smarty->assign("cmsversion", $cms->cmsversion()); $smarty->display("admin/index/index.tpl"); exit; } if (isset($_POST['modificanews'])) { // Creo le variabili con i dati $codice = $_COOKIE[$func->cookie()]; $newautore = $db->nickname($codice); $newtitolo = $func->escape($_POST['newtitolo']); $newcategoria = $func->escape($_POST['newcategoria']); $newnews = $func->authescape($_POST['newnews']); $newora = $data->ore_min(':'); $newdata = $data->data('-'); $minititolo = $func->escape($_POST['minititolo']); // Mi connetto al database $db->connettidb(); // Modifico la news $query = $db->query("UPDATE news SET autoreultimamodifica='{$newautore}', titolo='{$newtitolo}', categoria='{$newcategoria}', news='{$newnews}', oraultimamodifica='{$newora}', dataultimamodifica='{$newdata}' WHERE minititolo='{$minititolo}'"); // Mi disconnetto dal database $db->disconnettidb(); // Aggiorno i log se sono attivi if ($cms->cmslog() == 1) { $azione = 'modificato una news (' . $minititolo . ')'; $db->log($codice, $azione); } // Mando l' avviso $text = 'La news è stata modificata.'; $smarty->assign("titolo", "Modifica news");
/** * * @param string $Table * @param array $values * @return array */ public static function format_values($Table, array $values = null) { if (is_null($values)) { return $values; } else { foreach ($values as $key => $value) { if (is_null($value)) { $values[$key] = ''; } } } $infoTable = self::getTableInfo($Table); $result = []; foreach ($infoTable as $info) { $field = $info['Field']; # Verificando campo if (isset($values[$field])) { # Valor passado $value = $values[$field]; # Tipo de dado $type = strtolower(current(explode('(', $info['Type']))); # Formatando tipos de valores if (trim($value) !== '') { switch ($type) { case 'date': $value = Date::data($value); break; case 'tinyint': case 'smallint': case 'mediumint': case 'bigint': case 'int': $value = Number::int($value); break; case 'decimal': case 'float': case 'double': case 'real': $value = Number::float($value); break; case 'datetime': case 'timestamp': $value = Date::timestamp($value); break; case 'time': $value = Date::time($value); break; } } else { if ($info['Null'] == 'NO') { $value = ''; } else { if ($info['Null'] == 'YES') { $value = null; } } } # Setando valor na array $result[$field] = $value; } } return $result; }
/** * Verifica se a variavel está vazia * * Contorna as especificações de empty() para 0 e '0' * Adicionado verificações para o formato data '0000-00-00' e '00/00/0000' * * @param mixed $var * @return boolean */ function isEmpty($var) { # Exceções para empty if (empty($var)) { if ($var !== 0 and $var !== '0') { return true; } } else { if (Date::isDate($var)) { $value = Date::data($var); if ($value == '0000-00-00' or $value === null) { return true; } } } return false; }
public static function data($value) { return Date::data($value) ? true : false; }
$db->disconnettidb(); // Mi disconnetto dal database if ($conta > 0 or $conta2 > 0) { $text = 'Il nickname o l\'indirizzo email da te scelto è già in uso. Riprova scegliendone un altro.'; $smarty->assign("titolo", "Registrazione"); $smarty->assign("contents", $text); $smarty->assign("url_cms", $cms->url_cms()); $smarty->assign("url_smartytpl", $cms->url_smartytpl()); $smarty->assign("cmsversion", $cms->cmsversion()); $smarty->display("admin/index/index2.tpl"); exit; } // Registro l'utente $password = $func->hash($password); // Converto la password nell'algoritmo di hash $dataregistrazione = $data->data("-"); $db->connettidb(); // Mi connetto al database $db->query("INSERT INTO utenti(nickname,password,email,grado,dataregistrazione) VALUES('{$nickname}','{$password}','{$email}','Webmaster','{$dataregistrazione}')"); $db->disconnettidb(); // Mi disconnetto dal database $text = 'Registrazione effettuata.'; // Visualizzo la pagina $smarty->assign("titolo", "Registrazione"); $smarty->assign("contents", $text); $smarty->assign("url_cms", $cms->url_cms()); $smarty->assign("url_smartytpl", $cms->url_smartytpl()); $smarty->assign("cmsversion", $cms->cmsversion()); $smarty->display("admin/index/index2.tpl"); exit; }
function getData($format = false) { return $format ? Date::formatData($this->Data) : Date::data($this->Data); }
include_once "core/class.MySQL.php"; include_once "core/class.Functions.php"; include_once "etc/class.Date.php"; // Istanzio le classi $db = new MySQL(); $func = new Functions(); $date = new Date(); // La pagina da dove sono venuto $ref = $_SERVER['HTTP_REFERER']; // Ottengo il titolo della news dal GET $titolo_com = explode("=", $ref); $titolo_com = $titolo_com[1]; if (isset($_POST['commenta'])) { // Prelevo i dati $titolo_com = $func->escape($titolo_com); $data_com = $func->escape($date->data("-")); $ora_com = $func->escape($date->ore_min_sec(":")); $testo_com = $func->escape($_POST['testo_com']); // Prelevo il nickname dal database $codice = $_COOKIE[$func->cookie()]; $autore_com = $db->nickname($codice); // Se almeno un campo è vuoto rimando alla pagina precedente, altrimenti effetto la query e rimando nella pagina precedente. if ($titolo_com == '' or $autore_com == '' or $testo_com == '') { header("Location: {$ref}"); exit; } else { $db->connettidb(); $db->query("INSERT INTO commenti (titolo,data,ora,autore,testo) VALUES ('{$titolo_com}', '{$data_com}', '{$ora_com}', '{$autore_com}', '{$testo_com}')"); $db->disconnettidb(); header("Location: {$ref}"); exit;
// Scarico la news $titolo_get = $func->escape($_GET['titolo']); $query = $db->query("SELECT * FROM news WHERE minititolo='{$titolo_get}'"); $righe = $db->conta($query); // Se la news esiste la prelevo if ($righe > 0) { while ($riga = $db->estrai($query)) { $autore = $func->rescape($riga->autore); $titolo = $func->rescape($riga->titolo); $minititolo = $func->rescape($riga->minititolo); $news = bbcode($func->rescape($riga->news)); $categoria = $func->rescape($riga->categoria); $data = $func->rescape($riga->data); $ora = $func->rescape($riga->ora); } $data_attuale = $datatime->data("-"); $data_attuale2 = explode("-", $data_attuale); // Date if ($data == $data_attuale) { $data = 'oggi'; } elseif ($r["data"] == $data_attuale2[0] - 1) { $data = 'ieri'; } elseif ($r["data"] == $data_attuale2[0] - 2) { $data = 'l\' altro ieri'; } else { $data = 'il giorno ' . $data; } $autorelink = '<a href="' . $cms->url_cms() . 'profilo.php?nickname=' . $autore . '">' . $autore . '</a>'; $categorialink = '<a href="' . $cms->url_index() . 'categoria.php?cat=' . $categoria . '">' . $categoria . '</a>'; $description = autodescription($news, 120); // Descrizione di 120 caratteri
include_once "../../core/class.Ocarina.php"; include_once "../../core/class.MySQL.php"; include_once "../../core/class.Functions.php"; include_once "../../rendering/config.php"; include_once "../../etc/class.Date.php"; // Istanzio le classi $cms = new Ocarina(); $db = new MySQL(); $func = new Functions(); $data = new Date(); /* La lettura del robots.txt */ // Apro il file $robots = @fopen($cms->root() . "robots.txt", "r"); // Lo leggo $leggirobots = @fread($robots, @filesize($cms->root() . "robots.txt")); $leggirobots = '#Robots.txt generato con admin il giorno ' . $data->data('-') . ".\n" . $leggirobots; /* La modifica del robots.txt */ if (isset($_POST['modificarobots'])) { $newrobots = $_POST['newrobots']; // Apro il file $robots2 = @fopen($cms->root() . "robots.txt", "w"); // Ci scrivo i dati fwrite($robots2, ''); fwrite($robots2, $newrobots); // Lo chiudo fclose($robots2); // Aggiorno i log se sono attivi if ($cms->cmslog() == 1) { $codice = $_COOKIE[$func->cookie()]; $azione = 'modificato il file robots.txt'; $db->log($codice, $azione);
$smarty->assign("url_smartytpl", $cms->url_smartytpl()); $smarty->assign("cmsversion", $cms->cmsversion()); $smarty->display("admin/index/index.tpl"); exit; } if (isset($_POST['modificasezione'])) { // Mi connetto al database $db->connettidb(); // Creo le variabili con i dati $codice = $_COOKIE[$func->cookie()]; $newtitolo = $func->escape($_POST['newtitolo']); $newminititolo = $func->escape($_POST['newminititolo']); $newcontenuto = $func->authescape($_POST['newcontenuto']); $newcategoria = $func->escape($_POST['newcategoria']); $newautore = $db->nickname($codice); $dataultimamodifica = $data->data("-"); $autoreultimamodifica = $db->nickname($codice); $minititolo = $func->escape($_POST['minititolo']); // Modifico la sezione $query = $db->query("UPDATE pagine SET titolo='{$newtitolo}', minititolo='{$newminititolo}', contenuto='{$newcontenuto}', categoria='{$newcategoria}', dataultimamodifica='{$dataultimamodifica}', autoreultimamodifica='{$autoreultimamodifica}' WHERE minititolo='{$minititolo}'"); // Mi disconnessione dal database $db->disconnettidb(); // Aggiorno i log se sono attivi if ($cms->cmslog() == 1) { $azione = 'modificato una sezione (' . $minititolo . ')'; $db->log($codice, $azione); } // Mando l' avviso $text = 'La sezione è stata modificata.'; $smarty->assign("titolo", "Modifica sezione"); $smarty->assign("cookie", $db->auth($_COOKIE[$func->cookie()]));
// Istanzio le classi $cms = new Ocarina(); $db = new MySQL(); $func = new Functions(); $data = new Date(); /* L' invio della sezione */ if (isset($_POST['creasezione'])) { // Creo le variabili con i dati $codice = $_COOKIE[$func->cookie()]; $autore = $db->nickname($codice); $titolo = $func->escape($_POST['titolo']); $minititolo = $func->escape($_POST['minititolo']); $contenuto = $func->authescape($_POST['contenuto']); $categoria = $func->escape($_POST['categoria']); $striptitolo = $func->rescape($_POST['titolo']); $datacreazione = $data->data("-"); // Controllo se nel database non ci sia una sezione con un titolo uguale $db->connettidb(); $query = $db->query("SELECT titolo FROM pagine WHERE minititolo = '{$striptitolo}'"); $conta = $db->conta($query); // Se esiste avviso e blocco lo script if ($conta > 0) { $text = 'Esiste già una sezione con lo stesso titolo. Prova a modificarlo e riprova.'; $smarty->assign("titolo", "Crea sezione"); $smarty->assign("cookie", $db->auth($_COOKIE[$func->cookie()])); $smarty->assign("grado", $db->grado($_COOKIE[$func->cookie()])); $smarty->assign("contents", $text); $smarty->assign("url_cms", $cms->url_cms()); $smarty->assign("url_smartytpl", $cms->url_smartytpl()); $smarty->assign("cmsversion", $cms->cmsversion()); $smarty->display("admin/index/index.tpl");
/** * Verifica se é uma data válida * @param string $Date * @return boolean */ public static function isDate($Date = null) { $Date = Date::data($Date); return ($Date and $Date != '0000-00-00') ? true : false; }
/** * * @param int $nascimento * @param int $dataReferencia * @return int */ function calc_idade($nascimento, $dataReferencia = __NOW__) { $nascimento = !($nascimento = Date::data($nascimento)) ? date('Y-m-d') : $nascimento; $dataReferencia = !($dataReferencia = Date::data($dataReferencia)) ? date('Y-m-d') : $dataReferencia; $idade = (int) Date::year($dataReferencia) - (int) Date::year($nascimento); if (date('md', strtotime($dataReferencia)) < date('md', strtotime($nascimento))) { $idade--; } return $idade; }
function getFim($format = false) { return $format ? Date::formatData($this->Fim) : Date::data($this->Fim); }