Poderia me passar o link da pagina que esta a print ?
[Dúvida] Oque tem de errado na data e no caléndario?
Por LeoTK, 23 de abr. de 2015 em Websites
info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

info
Grupo: Marquês
Registrado: 24/12/09
Posts: 1k
Reputação: +326
Gênero: Masculino
Char no Tibia: Necromanser

me passe também o Arquivo .php ou html. da pagina do seu site dessa mesma pagina
Está ai
<?php
require("config.php");
$ide = new IDE;
echo "<h1>Forum ".$config['server_name']."</h1>";
echo "<div class='boardInformation'>";
echo "<div class='boardInformationTitle'>".$board[0]['name']."</div>";
echo "<div class='boardInformationDescription'>".$board[0]['description']."</div>";
echo "<div class='boardInformationModerators'>Moderators: ".$board[0]['moderators']."</div>";
echo "</div>";
echo "<div class='forumHistory'|<a href='".WEBSITE."/index.php/forum'>Forum</a> >> <a href='".WEBSITE."/index.php/forum/board/".$board[0]['id']."'>".$board[0]['name']."</a></div>";
if(count($threads) == 0) alert("Nao Existe Topicos.");
if($board[0]['closed'] != 1)
if(!$ide->isLogged())
alert("Voce Precisar Estar Logado Em Sua Conta Antes de Usar o Forum.");
echo "<div class='boardPages'>".$pages."</div>";
if($board[0]['closed'] == 1)
echo "<a href='".WEBSITE."/index.php/forum/new_thread/".$board[0]['id']."'><img style='MARGIN-LEFT: 50px;' style='margin-bottom: -20px;' src='".WEBSITE."/public/images/forum/closedReply.png'></a>";
else
echo "<a href='".WEBSITE."/index.php/forum/new_thread/".$board[0]['id']."'><img style='MARGIN-LEFT: 50px;' style='margin-bottom: -20px;' src='".WEBSITE."/public/images/forum/newthread.png'></a>";
foreach($threads as $thread) {
if($thread['sticked'] == 1 and $thread['closed'] == 1)
$status = "stickclose.png";
else if($thread['sticked'] == 1 and $thread['closed'] == 0)
$status = "sticked.png";
else if($thread['sticked'] == 0 and $thread['closed'] == 1)
$status = "closedthread.png";
else
$status = "open.png";
if(empty($thread['post_author']))
$last = "Não há posts";
else
$last = "Por <a href=\"".WEBSITE."/index.php/character/view/".$thread['post_author']."\">".truncateString($thread['post_author'], 10)."</a><br /> ".ago($thread['post_time']);
echo "<div class='threadTable'>";
echo "<div class='threadStatus'>";
echo "<img src='".WEBSITE."/public/images/forum/".$status."'>";
echo "</div>";
echo "<div class='threadLeft'>";
echo "<div class='threadTitle'><a href='".WEBSITE."/index.php/forum/thread/".$thread['id']."'>";
echo $thread['name'];
echo "</a></div>";
echo "<div class='threadAuthor'>";
echo "Postado por: ".ucfirst($thread['author']);
echo "</div>";
echo "</div>";
echo "<div class='threadRight'>";
echo $last;
echo "</div>";
echo "</div>";
}
echo "<div class='boardPages'>".$pages."</div>";?>
Está ai
<?php require("config.php"); $ide = new IDE; echo "<h1>Forum ".$config['server_name']."</h1>"; echo "<div class='boardInformation'>"; echo "<div class='boardInformationTitle'>".$board[0]['name']."</div>"; echo "<div class='boardInformationDescription'>".$board[0]['description']."</div>"; echo "<div class='boardInformationModerators'>Moderators: ".$board[0]['moderators']."</div>"; echo "</div>"; echo "<div class='forumHistory'|<a href='".WEBSITE."/index.php/forum'>Forum</a> >> <a href='".WEBSITE."/index.php/forum/board/".$board[0]['id']."'>".$board[0]['name']."</a></div>"; if(count($threads) == 0) alert("Nao Existe Topicos."); if($board[0]['closed'] != 1) if(!$ide->isLogged()) alert("Voce Precisar Estar Logado Em Sua Conta Antes de Usar o Forum."); echo "<div class='boardPages'>".$pages."</div>"; if($board[0]['closed'] == 1) echo "<a href='".WEBSITE."/index.php/forum/new_thread/".$board[0]['id']."'><img style='MARGIN-LEFT: 50px;' style='margin-bottom: -20px;' src='".WEBSITE."/public/images/forum/closedReply.png'></a>"; else echo "<a href='".WEBSITE."/index.php/forum/new_thread/".$board[0]['id']."'><img style='MARGIN-LEFT: 50px;' style='margin-bottom: -20px;' src='".WEBSITE."/public/images/forum/newthread.png'></a>"; foreach($threads as $thread) { if($thread['sticked'] == 1 and $thread['closed'] == 1) $status = "stickclose.png"; else if($thread['sticked'] == 1 and $thread['closed'] == 0) $status = "sticked.png"; else if($thread['sticked'] == 0 and $thread['closed'] == 1) $status = "closedthread.png"; else $status = "open.png"; if(empty($thread['post_author'])) $last = "Não há posts"; else $last = "Por <a href=\"".WEBSITE."/index.php/character/view/".$thread['post_author']."\">".truncateString($thread['post_author'], 10)."</a><br /> ".ago($thread['post_time']); echo "<div class='threadTable'>"; echo "<div class='threadStatus'>"; echo "<img src='".WEBSITE."/public/images/forum/".$status."'>"; echo "</div>"; echo "<div class='threadLeft'>"; echo "<div class='threadTitle'><a href='".WEBSITE."/index.php/forum/thread/".$thread['id']."'>"; echo $thread['name']; echo "</a></div>"; echo "<div class='threadAuthor'>"; echo "Postado por: ".ucfirst($thread['author']); echo "</div>"; echo "</div>"; echo "<div class='threadRight'>"; echo $last; echo "</div>"; echo "</div>"; } echo "<div class='boardPages'>".$pages."</div>";?>
<?php
require("config.php");
$ide = new IDE;
echo "<h1>Forum ".$config['server_name']."</h1>";
echo "<div class='boardInformation'>";
echo "<div class='boardInformationTitle'>".$board[0]['name']."</div>";
echo "<div class='boardInformationDescription'>".$board[0]['description']."</div>";
echo "<div class='boardInformationModerators'>Moderators: ".$board[0]['moderators']."</div>";
echo "</div>";
echo "<div class='forumHistory'|<a href='".WEBSITE."/index.php/forum'>Forum</a> >> <a href='".WEBSITE."/index.php/forum/board/".$board[0]['id']."'>".$board[0]['name']."</a></div>";
if(count($threads) == 0) alert("Nao Existe Topicos.");
if($board[0]['closed'] != 1)
if(!$ide->isLogged())
alert("Voce Precisar Estar Logado Em Sua Conta Antes de Usar o Forum.");
echo "<div class='boardPages'>".$pages."</div>";
if($board[0]['closed'] == 1)
echo "<a href='".WEBSITE."/index.php/forum/new_thread/".$board[0]['id']."'><img style='MARGIN-LEFT: 50px;' style='margin-bottom: -20px;' src='".WEBSITE."/public/images/forum/closedReply.png'></a>";
else
echo "<a href='".WEBSITE."/index.php/forum/new_thread/".$board[0]['id']."'><img style='MARGIN-LEFT: 50px;' style='margin-bottom: -20px;' src='".WEBSITE."/public/images/forum/newthread.png'></a>";
foreach($threads as $thread) {
if($thread['sticked'] == 1 and $thread['closed'] == 1)
$status = "stickclose.png";
else if($thread['sticked'] == 1 and $thread['closed'] == 0)
$status = "sticked.png";
else if($thread['sticked'] == 0 and $thread['closed'] == 1)
$status = "closedthread.png";
else
$status = "open.png";
if(empty($thread['post_author']))
$last = "Não há posts";
else
$last = "Por <a href=\"".WEBSITE."/index.php/character/view/".$thread['post_author']."\">".truncateString($thread['post_author'], 10)."</a><br /> ".atras($thread['post_time']);
echo "<div class='threadTable'>";
echo "<div class='threadStatus'>";
echo "<img src='".WEBSITE."/public/images/forum/".$status."'>";
echo "</div>";
echo "<div class='threadLeft'>";
echo "<div class='threadTitle'><a href='".WEBSITE."/index.php/forum/thread/".$thread['id']."'>";
echo $thread['name'];
echo "</a></div>";
echo "<div class='threadAuthor'>";
echo "Postado por: ".ucfirst($thread['author']);
echo "</div>";
echo "</div>";
echo "<div class='threadRight'>";
echo $last;
echo "</div>";
echo "</div>";
}
echo "<div class='boardPages'>".$pages."</div>";?>
Testa ai.
Editado Abril 23 por Unknowed
Fatal error: Call to undefined function atras() in /home/u688229712/public_html/system/application/views/forum_board_view.php on line 40
<?php
require("config.php");
$ide = new IDE;
echo "<h1>Forum ".$config['server_name']."</h1>";
echo "<div class='boardInformation'>";
echo "<div class='boardInformationTitle'>".$board[0]['name']."</div>";
echo "<div class='boardInformationDescription'>".$board[0]['description']."</div>";
echo "<div class='boardInformationModerators'>Moderators: ".$board[0]['moderators']."</div>";
echo "</div>";
echo "<div class='forumHistory'|<a href='".WEBSITE."/index.php/forum'>Forum</a> >> <a href='".WEBSITE."/index.php/forum/board/".$board[0]['id']."'>".$board[0]['name']."</a></div>";
if(count($threads) == 0) alert("Nao Existe Topicos.");
if($board[0]['closed'] != 1)
if(!$ide->isLogged())
alert("Voce Precisar Estar Logado Em Sua Conta Antes de Usar o Forum.");
echo "<div class='boardPages'>".$pages."</div>";
if($board[0]['closed'] == 1)
echo "<a href='".WEBSITE."/index.php/forum/new_thread/".$board[0]['id']."'><img style='MARGIN-LEFT: 50px;' style='margin-bottom: -20px;' src='".WEBSITE."/public/images/forum/closedReply.png'></a>";
else
echo "<a href='".WEBSITE."/index.php/forum/new_thread/".$board[0]['id']."'><img style='MARGIN-LEFT: 50px;' style='margin-bottom: -20px;' src='".WEBSITE."/public/images/forum/newthread.png'></a>";
foreach($threads as $thread) {
if($thread['sticked'] == 1 and $thread['closed'] == 1)
$status = "stickclose.png";
else if($thread['sticked'] == 1 and $thread['closed'] == 0)
$status = "sticked.png";
else if($thread['sticked'] == 0 and $thread['closed'] == 1)
$status = "closedthread.png";
else
$status = "open.png";
if(empty($thread['post_author']))
$last = "Não há posts";
else
$last = "Por <a href=\"".WEBSITE."/index.php/character/view/".$thread['post_author']."\">".truncateString($thread['post_author'], 10)."</a><br /> ".ago($thread['post_time']);
echo "<div class='threadTable'>";
echo "<div class='threadStatus'>";
echo "<img src='".WEBSITE."/public/images/forum/".$status."'>";
echo "</div>";
echo "<div class='threadLeft'>";
echo "<div class='threadTitle'><a href='".WEBSITE."/index.php/forum/thread/".$thread['id']."'>";
echo $thread['name'];
echo "</a></div>";
echo "<div class='threadAuthor'>";
echo "Postado por: ".ucfirst($thread['author']);
echo "</div>";
echo "</div>";
echo "<div class='threadRight'>";
echo $last;
echo "</div>";
echo "</div>";
}
echo "<div class='boardPages'>".$pages."</div>";?>
Testa ai.
Ve ali onde eu deixei em vermelho , o problema ta ali.
aahh vei desisto kkk as coisas mais drastica é mais facil de fazer pra editar uma simples palavra maior role kkk deixa em inglês mesmo kk
brigado a todos pela ajuda e atenção





info
Grupo: Marquês
Registrado: 05/12/11
Posts: 1.2k
Reputação: +173
Gênero: Masculino
Fala galera do xtibia, eu tava aqui traduzindo meu site .... e traduzi o caléndario e a data do site ... porém não fez nenhuma alteração no site ... alguem pode me ajudar pode me dizer onde ta errado?
calender_land.php
Date_land.php
Calender.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * CodeIgniter * * An open source application development framework for PHP 4.3.2 or newer * * @package CodeIgniter * @author ExpressionEngine Dev Team * @copyright Copyright (c) 2008 - 2009, EllisLab, Inc. * @license http://codeigniter.com/user_guide/license.html'>http://codeigniter.com/user_guide/license.html * @link http://codeigniter.com * @since Version 1.0 * @filesource */ // ------------------------------------------------------------------------ /** * CodeIgniter Calendar Class * * This class enables the creation of calendars * * @package CodeIgniter * @subpackage Libraries * @category Libraries * @author ExpressionEngine Dev Team * @link http://codeigniter.com/user_guide/libraries/calendar.html */ class CI_Calendar { var $CI; var $lang; var $local_time; var $template = ''; var $start_day = 'domingo'; var $month_type = 'longo'; var $day_type = 'abr'; var $show_next_prev = FALSE; var $next_prev_url = ''; /** * Constructor * * Loads the calendar language file and sets the default time reference * * @access public */ function CI_Calendar($config = array()) { $this->CI =& get_instance(); if ( ! in_array('calendar_lang'.EXT, $this->CI->lang->is_loaded, TRUE)) { $this->CI->lang->load('calendar'); } $this->local_time = time(); if (count($config) > 0) { $this->initialize($config); } log_message('debug', "Calendar Class Initialized"); } // -------------------------------------------------------------------- /** * Initialize the user preferences * * Accepts an associative array as input, containing display preferences * * @access public * @param array config preferences * @return void */ function initialize($config = array()) { foreach ($config as $key => $val) { if (isset($this->$key)) { $this->$key = $val; } } } // -------------------------------------------------------------------- /** * Generate the calendar * * @access public * @param integer the year * @param integer the month * @param array the data to be shown in the calendar cells * @return string */ function generate($year = '', $month = '', $data = array()) { // Set and validate the supplied month/year if ($year == '') $year = date("Y", $this->local_time); if ($month == '') $month = date("m", $this->local_time); if (strlen($year) == 1) $year = '200'.$year; if (strlen($year) == 2) $year = '20'.$year; if (strlen($month) == 1) $month = '0'.$month; $adjusted_date = $this->adjust_date($month, $year); $month = $adjusted_date['mês']; $year = $adjusted_date['ano']; // Determine the total days in the month $total_days = $this->get_total_days($month, $year); // Set the starting day of the week $start_days = array('domingo' => 0, 'segunda-feira' => 1, 'terça-feira' => 2, 'quarta-feira' => 3, 'quinta-feira' => 4, 'sexta-feira' => 5, 'sábado' => 6); $start_day = ( ! isset($start_days[$this->start_day])) ? 0 : $start_days[$this->start_day]; // Set the starting day number $local_date = mktime(12, 0, 0, $month, 1, $year); $date = getdate($local_date); $day = $start_day + 1 - $date["wday"]; while ($day > 1) { $day -= 7; } // Set the current month/year/day // We use this to determine the "today" date $cur_year = date("Y", $this->local_time); $cur_month = date("m", $this->local_time); $cur_day = date("j", $this->local_time); $is_current_month = ($cur_year == $year AND $cur_month == $month) ? TRUE : FALSE; // Generate the template data array $this->parse_template(); // Begin building the calendar output $out = $this->temp['table_open']; $out .= "\n"; $out .= "\n"; $out .= $this->temp['heading_row_start']; $out .= "\n"; // "previous" month link if ($this->show_next_prev == TRUE) { // Add a trailing slash to the URL if needed $this->next_prev_url = preg_replace("/(.+?)\/*$/", "\\1/", $this->next_prev_url); $adjusted_date = $this->adjust_date($month - 1, $year); $out .= str_replace('{previous_url}', $this->next_prev_url.$adjusted_date['ano'].'/'.$adjusted_date['mês'], $this->temp['heading_previous_cell']); $out .= "\n"; } // Heading containing the month/year $colspan = ($this->show_next_prev == TRUE) ? 5 : 7; $this->temp['heading_title_cell'] = str_replace('{colspan}', $colspan, $this->temp['heading_title_cell']); $this->temp['heading_title_cell'] = str_replace('{heading}', $this->get_month_name($month)." ".$year, $this->temp['heading_title_cell']); $out .= $this->temp['heading_title_cell']; $out .= "\n"; // "next" month link if ($this->show_next_prev == TRUE) { $adjusted_date = $this->adjust_date($month + 1, $year); $out .= str_replace('{next_url}', $this->next_prev_url.$adjusted_date['ano'].'/'.$adjusted_date['mês'], $this->temp['heading_next_cell']); } $out .= "\n"; $out .= $this->temp['heading_row_end']; $out .= "\n"; // Write the cells containing the days of the week $out .= "\n"; $out .= $this->temp['week_row_start']; $out .= "\n"; $day_names = $this->get_day_names(); for ($i = 0; $i < 7; $i ++) { $out .= str_replace('{week_day}', $day_names[($start_day + $i) %7], $this->temp['week_day_cell']); } $out .= "\n"; $out .= $this->temp['week_row_end']; $out .= "\n"; // Build the main body of the calendar while ($day <= $total_days) { $out .= "\n"; $out .= $this->temp['cal_row_start']; $out .= "\n"; for ($i = 0; $i < 7; $i++) { $out .= ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_start_today'] : $this->temp['cal_cell_start']; if ($day > 0 AND $day <= $total_days) { if (isset($data[$day])) { // Cells with content $temp = ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_content_today'] : $this->temp['cal_cell_content']; $out .= str_replace('{day}', $day, str_replace('{content}', $data[$day], $temp)); } else { // Cells with no content $temp = ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_no_content_today'] : $this->temp['cal_cell_no_content']; $out .= str_replace('{day}', $day, $temp); } } else { // Blank cells $out .= $this->temp['cal_cell_blank']; } $out .= ($is_current_month == TRUE AND $day == $cur_day) ? $this->temp['cal_cell_end_today'] : $this->temp['cal_cell_end']; $day++; } $out .= "\n"; $out .= $this->temp['cal_row_end']; $out .= "\n"; } $out .= "\n"; $out .= $this->temp['table_close']; return $out; } // -------------------------------------------------------------------- /** * Get Month Name * * Generates a textual month name based on the numeric * month provided. * * @access public * @param integer the month * @return string */ function get_month_name($month) { if ($this->month_type == 'short') { $month_names = array('01' => 'cal_jan', '02' => 'cal_fev', '03' => 'cal_mar', '04' => 'cal_abr', '05' => 'cal_mai', '06' => 'cal_jun', '07' => 'cal_jul', '08' => 'cal_ago', '09' => 'cal_set', '10' => 'cal_out', '11' => 'cal_nov', '12' => 'cal_dez'); } else { $month_names = array('01' => 'cal_janeiro', '02' => 'cal_fevereiro', '03' => 'cal_março', '04' => 'cal_abril', '05' => 'cal_maio', '06' => 'cal_junho', '07' => 'cal_julho', '08' => 'cal_agosto', '09' => 'cal_setembro', '10' => 'cal_outubro', '11' => 'cal_novembro', '12' => 'cal_dezembro'); } $month = $month_names[$month]; if ($this->CI->lang->line($month) === FALSE) { return ucfirst(str_replace('cal_', '', $month)); } return $this->CI->lang->line($month); } // -------------------------------------------------------------------- /** * Get Day Names * * Returns an array of day names (Sunday, Monday, etc.) based * on the type. Options: long, short, abrev * * @access public * @param string * @return array */ function get_day_names($day_type = '') { if ($day_type != '') $this->day_type = $day_type; if ($this->day_type == 'longo') { $day_names = array('domingo', 'segunda-feira', 'terça-feira', 'quarta-feira', 'quinta-feira', 'sexta-feira', 'sábado'); } elseif ($this->day_type == 'short') { $day_names = array('dom', 'seg', 'ter', 'qua', 'qui', 'sex', 'sab'); } else { $day_names = array('do', 'se', 'te', 'qu', 'qu', 'se', 'sa'); } $days = array(); foreach ($day_names as $val) { $days[] = ($this->CI->lang->line('cal_'.$val) === FALSE) ? ucfirst($val) : $this->CI->lang->line('cal_'.$val); } return $days; } // -------------------------------------------------------------------- /** * Adjust Date * * This function makes sure that we have a valid month/year. * For example, if you submit 13 as the month, the year will * increment and the month will become January. * * @access public * @param integer the month * @param integer the year * @return array */ function adjust_date($month, $year) { $date = array(); $date['mês'] = $month; $date['ano'] = $year; while ($date['mês'] > 12) { $date['mês'] -= 12; $date['ano']++; } while ($date['mês'] <= 0) { $date['mês'] += 12; $date['ano']--; } if (strlen($date['mês']) == 1) { $date['mês'] = '0'.$date['mês']; } return $date; } // -------------------------------------------------------------------- /** * Total days in a given month * * @access public * @param integer the month * @param integer the year * @return integer */ function get_total_days($month, $year) { $days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); if ($month < 1 OR $month > 12) { return 0; } // Is the year a leap year? if ($month == 2) { if ($year % 400 == 0 OR ($year % 4 == 0 AND $year % 100 != 0)) { return 29; } } return $days_in_month[$month - 1]; } // -------------------------------------------------------------------- /** * Set Default Template Data * * This is used in the event that the user has not created their own template * * @access public * @return array */ function default_template() { return array ( 'table_open' => '<table border="0" cellpadding="4" cellspacing="0">', 'heading_row_start' => '<tr>', 'heading_previous_cell' => '<th><a href="{previous_url}"><<</a></th>', 'heading_title_cell' => '<th colspan="{colspan}">{heading}</th>', 'heading_next_cell' => '<th><a href="{next_url}">>></a></th>', 'heading_row_end' => '</tr>', 'week_row_start' => '<tr>', 'week_day_cell' => '<td>{week_day}</td>', 'week_row_end' => '</tr>', 'cal_row_start' => '<tr>', 'cal_cell_start' => '<td>', 'cal_cell_start_today' => '<td>', 'cal_cell_content' => '<a href="{content}">{day}</a>', 'cal_cell_content_today' => '<a href="{content}"><strong>{day}</strong></a>', 'cal_cell_no_content' => '{day}', 'cal_cell_no_content_today' => '<strong>{day}</strong>', 'cal_cell_blank' => ' ', 'cal_cell_end' => '</td>', 'cal_cell_end_today' => '</td>', 'cal_row_end' => '</tr>', 'table_close' => '</table>' ); } // -------------------------------------------------------------------- /** * Parse Template * * Harvests the data within the template {pseudo-variables} * used to display the calendar * * @access public * @return void */ function parse_template() { $this->temp = $this->default_template(); if ($this->template == '') { return; } $today = array('cal_cell_start_today', 'cal_cell_content_today', 'cal_cell_no_content_today', 'cal_cell_end_today'); foreach (array('table_open', 'table_close', 'heading_row_start', 'heading_previous_cell', 'heading_title_cell', 'heading_next_cell', 'heading_row_end', 'week_row_start', 'week_day_cell', 'week_row_end', 'cal_row_start', 'cal_cell_start', 'cal_cell_content', 'cal_cell_no_content', 'cal_cell_blank', 'cal_cell_end', 'cal_row_end', 'cal_cell_start_today', 'cal_cell_content_today', 'cal_cell_no_content_today', 'cal_cell_end_today') as $val) { if (preg_match("/\{".$val."\}(.*?)\{\/".$val."\}/si", $this->template, $match)) { $this->temp[$val] = $match['1']; } else { if (in_array($val, $today, TRUE)) { $this->temp[$val] = $this->temp[str_replace('_today', '', $val)]; } } } } } // END CI_Calendar class /* End of file Calendar.php *//* Location: ./system/libraries/Calendar.php */Date_Helper.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * CodeIgniter * * An open source application development framework for PHP 4.3.2 or newer * * @package CodeIgniter * @author ExpressionEngine Dev Team * @copyright Copyright (c) 2008 - 2009, EllisLab, Inc. * @license http://codeigniter.com/user_guide/license.html'>http://codeigniter.com/user_guide/license.html * @link http://codeigniter.com * @since Version 1.0 * @filesource */ // ------------------------------------------------------------------------ /** * CodeIgniter Date Helpers * * @package CodeIgniter * @subpackage Helpers * @category Helpers * @author ExpressionEngine Dev Team * @link http://codeigniter.com/user_guide/helpers/date_helper.html */ // ------------------------------------------------------------------------ /** * Get "now" time * * Returns time() or its GMT equivalent based on the config file preference * * @access public * @return integer */ if ( ! function_exists('now')) { function now() { $CI =& get_instance(); if (strtolower($CI->config->item('time_reference')) == 'gmt') { $now = time(); $system_time = mktime(gmdate("H", $now), gmdate("i", $now), gmdate("s", $now), gmdate("m", $now), gmdate("d", $now), gmdate("Y", $now)); if (strlen($system_time) < 10) { $system_time = time(); log_message('error', 'The Date class could not set a proper GMT timestamp so the local time() value was used.'); } return $system_time; } else { return time(); } } } // ------------------------------------------------------------------------ /** * Convert MySQL Style Datecodes * * This function is identical to PHPs date() function, * except that it allows date codes to be formatted using * the MySQL style, where each code letter is preceded * with a percent sign: %Y %m %d etc... * * The benefit of doing dates this way is that you don't * have to worry about escaping your text letters that * match the date codes. * * @access public * @param string * @param integer * @return integer */ if ( ! function_exists('mdate')) { function mdate($datestr = '', $time = '') { if ($datestr == '') return ''; if ($time == '') $time = now(); $datestr = str_replace('%\\', '', preg_replace("/([a-z]+?){1}/i", "\\\\\\1", $datestr)); return date($datestr, $time); } } // ------------------------------------------------------------------------ /** * Standard Date * * Returns a date formatted according to the submitted standard. * * @access public * @param string the chosen format * @param integer Unix timestamp * @return string */ if ( ! function_exists('standard_date')) { function standard_date($fmt = 'DATE_RFC822', $time = '') { $formats = array( 'DATE_ATOM' => '%Y-%m-%dT%H:%i:%s%Q', 'DATE_COOKIE' => '%l, %d-%M-%y %H:%i:%s UTC', 'DATE_ISO8601' => '%Y-%m-%dT%H:%i:%s%O', 'DATE_RFC822' => '%D, %d %M %y %H:%i:%s %O', 'DATE_RFC850' => '%l, %d-%M-%y %H:%m:%i UTC', 'DATE_RFC1036' => '%D, %d %M %y %H:%i:%s %O', 'DATE_RFC1123' => '%D, %d %M %Y %H:%i:%s %O', 'DATE_RSS' => '%D, %d %M %Y %H:%i:%s %O', 'DATE_W3C' => '%Y-%m-%dT%H:%i:%s%Q' ); if ( ! isset($formats[$fmt])) { return FALSE; } return mdate($formats[$fmt], $time); } } // ------------------------------------------------------------------------ /** * Timespan * * Returns a span of seconds in this format: * 10 days 14 hours 36 minutes 47 seconds * * @access public * @param integer a number of seconds * @param integer Unix timestamp * @return integer */ if ( ! function_exists('timespan')) { function timespan($seconds = 1, $time = '') { $CI =& get_instance(); $CI->lang->load('date'); if ( ! is_numeric($seconds)) { $seconds = 1; } if ( ! is_numeric($time)) { $time = time(); } if ($time <= $seconds) { $seconds = 1; } else { $seconds = $time - $seconds; } $str = ''; $years = floor($seconds / 31536000); if ($years > 0) { $str .= $years.' '.$CI->lang->line((($years > 1) ? 'date_anos' : 'date_ano')).', '; } $seconds -= $years * 31536000; $months = floor($seconds / 2628000); if ($years > 0 OR $months > 0) { if ($months > 0) { $str .= $months.' '.$CI->lang->line((($months > 1) ? 'date_meses' : 'date_mês')).', '; } $seconds -= $months * 2628000; } $weeks = floor($seconds / 604800); if ($years > 0 OR $months > 0 OR $weeks > 0) { if ($weeks > 0) { $str .= $weeks.' '.$CI->lang->line((($weeks > 1) ? 'date_semanas' : 'date_semana')).', '; } $seconds -= $weeks * 604800; } $days = floor($seconds / 86400); if ($months > 0 OR $weeks > 0 OR $days > 0) { if ($days > 0) { $str .= $days.' '.$CI->lang->line((($days > 1) ? 'date_dias' : 'date_dia')).', '; } $seconds -= $days * 86400; } $hours = floor($seconds / 3600); if ($days > 0 OR $hours > 0) { if ($hours > 0) { $str .= $hours.' '.$CI->lang->line((($hours > 1) ? 'date_horas' : 'date_hora')).', '; } $seconds -= $hours * 3600; } $minutes = floor($seconds / 60); if ($days > 0 OR $hours > 0 OR $minutes > 0) { if ($minutes > 0) { $str .= $minutes.' '.$CI->lang->line((($minutes > 1) ? 'date_minutos' : 'date_minuto')).', '; } $seconds -= $minutes * 60; } if ($str == '') { $str .= $seconds.' '.$CI->lang->line((($seconds > 1) ? 'date_segundos' : 'date_segundo')).', '; } return substr(trim($str), 0, -1); } } // ------------------------------------------------------------------------ /** * Number of days in a month * * Takes a month/year as input and returns the number of days * for the given month/year. Takes leap years into consideration. * * @access public * @param integer a numeric month * @param integer a numeric year * @return integer */ if ( ! function_exists('days_in_month')) { function days_in_month($month = 0, $year = '') { if ($month < 1 OR $month > 12) { return 0; } if ( ! is_numeric($year) OR strlen($year) != 4) { $year = date('Y'); } if ($month == 2) { if ($year % 400 == 0 OR ($year % 4 == 0 AND $year % 100 != 0)) { return 29; } } $days_in_month = array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); return $days_in_month[$month - 1]; } } // ------------------------------------------------------------------------ /** * Converts a local Unix timestamp to GMT * * @access public * @param integer Unix timestamp * @return integer */ if ( ! function_exists('local_to_gmt')) { function local_to_gmt($time = '') { if ($time == '') $time = time(); return mktime( gmdate("H", $time), gmdate("i", $time), gmdate("s", $time), gmdate("m", $time), gmdate("d", $time), gmdate("Y", $time)); } } // ------------------------------------------------------------------------ /** * Converts GMT time to a localized value * * Takes a Unix timestamp (in GMT) as input, and returns * at the local value based on the timezone and DST setting * submitted * * @access public * @param integer Unix timestamp * @param string timezone * @param bool whether DST is active * @return integer */ if ( ! function_exists('gmt_to_local')) { function gmt_to_local($time = '', $timezone = 'UTC', $dst = FALSE) { if ($time == '') { return now(); } $time += timezones($timezone) * 3600; if ($dst == TRUE) { $time += 3600; } return $time; } } // ------------------------------------------------------------------------ /** * Converts a MySQL Timestamp to Unix * * @access public * @param integer Unix timestamp * @return integer */ if ( ! function_exists('mysql_to_unix')) { function mysql_to_unix($time = '') { // We'll remove certain characters for backward compatibility // since the formatting changed with MySQL 4.1 // YYYY-MM-DD HH:MM:SS $time = str_replace('-', '', $time); $time = str_replace(':', '', $time); $time = str_replace(' ', '', $time); // YYYYMMDDHHMMSS return mktime( substr($time, 8, 2), substr($time, 10, 2), substr($time, 12, 2), substr($time, 4, 2), substr($time, 6, 2), substr($time, 0, 4) ); } } // ------------------------------------------------------------------------ /** * Unix to "Human" * * Formats Unix timestamp to the following prototype: 2006-08-21 11:35 PM * * @access public * @param integer Unix timestamp * @param bool whether to show seconds * @param string format: us or euro * @return string */ if ( ! function_exists('unix_to_human')) { function unix_to_human($time = '', $seconds = FALSE, $fmt = 'us') { $r = date('Y', $time).'-'.date('m', $time).'-'.date('d', $time).' '; if ($fmt == 'us') { $r .= date('h', $time).':'.date('i', $time); } else { $r .= date('H', $time).':'.date('i', $time); } if ($seconds) { $r .= ':'.date('s', $time); } if ($fmt == 'us') { $r .= ' '.date('A', $time); } return $r; } } // ------------------------------------------------------------------------ /** * Convert "human" date to GMT * * Reverses the above process * * @access public * @param string format: us or euro * @return integer */ if ( ! function_exists('human_to_unix')) { function human_to_unix($datestr = '') { if ($datestr == '') { return FALSE; } $datestr = trim($datestr); $datestr = preg_replace("/\040+/", "\040", $datestr); if ( ! preg_match('/^[0-9]{2,4}\-[0-9]{1,2}\-[0-9]{1,2}\s[0-9]{1,2}:[0-9]{1,2}(?[0-9]{1,2})?(?:\s[AP]M)?$/i', $datestr)) { return FALSE; } $split = preg_split("/\040/", $datestr); $ex = explode("-", $split['0']); $year = (strlen($ex['0']) == 2) ? '20'.$ex['0'] : $ex['0']; $month = (strlen($ex['1']) == 1) ? '0'.$ex['1'] : $ex['1']; $day = (strlen($ex['2']) == 1) ? '0'.$ex['2'] : $ex['2']; $ex = explode(":", $split['1']); $hour = (strlen($ex['0']) == 1) ? '0'.$ex['0'] : $ex['0']; $min = (strlen($ex['1']) == 1) ? '0'.$ex['1'] : $ex['1']; if (isset($ex['2']) && preg_match('/[0-9]{1,2}/', $ex['2'])) { $sec = (strlen($ex['2']) == 1) ? '0'.$ex['2'] : $ex['2']; } else { // Unless specified, seconds get set to zero. $sec = '00'; } if (isset($split['2'])) { $ampm = strtolower($split['2']); if (substr($ampm, 0, 1) == 'p' AND $hour < 12) $hour = $hour + 12; if (substr($ampm, 0, 1) == 'a' AND $hour == 12) $hour = '00'; if (strlen($hour) == 1) $hour = '0'.$hour; } return mktime($hour, $min, $sec, $month, $day, $year); } } // ------------------------------------------------------------------------ /** * Timezone Menu * * Generates a drop-down menu of timezones. * * @access public * @param string timezone * @param string classname * @param string menu name * @return string */ if ( ! function_exists('timezone_menu')) { function timezone_menu($default = 'UTC', $class = "", $name = 'timezones') { $CI =& get_instance(); $CI->lang->load('date'); if ($default == 'GMT') $default = 'UTC'; $menu = '<select name="'.$name.'"'; if ($class != '') { $menu .= ' class="'.$class.'"'; } $menu .= ">\n"; foreach (timezones() as $key => $val) { $selected = ($default == $key) ? " selected='selected'" : ''; $menu .= "<option value='{$key}'{$selected}>".$CI->lang->line($key)."</option>\n"; } $menu .= "</select>"; return $menu; } } // ------------------------------------------------------------------------ /** * Timezones * * Returns an array of timezones. This is a helper function * for various other ones in this library * * @access public * @param string timezone * @return string */ if ( ! function_exists('timezones')) { function timezones($tz = '') { // Note: Don't change the order of these even though // some items appear to be in the wrong order $zones = array( 'UM12' => -12, 'UM11' => -11, 'UM10' => -10, 'UM95' => -9.5, 'UM9' => -9, 'UM8' => -8, 'UM7' => -7, 'UM6' => -6, 'UM5' => -5, 'UM45' => -4.5, 'UM4' => -4, 'UM35' => -3.5, 'UM3' => -3, 'UM2' => -2, 'UM1' => -1, 'UTC' => 0, 'UP1' => +1, 'UP2' => +2, 'UP3' => +3, 'UP35' => +3.5, 'UP4' => +4, 'UP45' => +4.5, 'UP5' => +5, 'UP55' => +5.5, 'UP575' => +5.75, 'UP6' => +6, 'UP65' => +6.5, 'UP7' => +7, 'UP8' => +8, 'UP875' => +8.75, 'UP9' => +9, 'UP95' => +9.5, 'UP10' => +10, 'UP105' => +10.5, 'UP11' => +11, 'UP115' => +11.5, 'UP12' => +12, 'UP1275' => +12.75, 'UP13' => +13, 'UP14' => +14 ); if ($tz == '') { return $zones; } if ($tz == 'GMT') $tz = 'UTC'; return ( ! isset($zones[$tz])) ? 0 : $zones[$tz]; } } /* End of file date_helper.php *//* Location: ./system/helpers/date_helper.php */Print:
é isso aguardo resposta +rep pra quem ajudar agradeço desde já xD
Editado Abril 23 por Brunds