Posts tagged with: CodeIgniter

CodeIgniter: Date Manipulation Class

I made myself a class make some basic operations, like adding and subtracting days, months or years from a date, and return in mysql-ready format or timestamp. Here`s the code:

[cc lang=”php”]
< ?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** * * Class dateOperations * Created in July 07, 2009, by Vicente Russo Neto
*
* @param integer $date – the date to be processed
* @param string $what – what piece of date to process, day, month or year
* @param integer $value – how much will be increased or decreased
* @param string $return_format – ‘mysql’ format or ‘timestamp’ format
* @author Vicente Russo Neto
* @return string|boolean
* @version 0.1
*
* Description: This class can add or subtract days, months or years and return the result. Created for
* PHP Framework CodeIgniter (www.codeigniter.com). Tested on 1.7.1.
*
* Usage:
* $this->load->library(‘dateoperations’);
* echo $this->dateoperations->subtract(‘2009-07-01′,’day’,1); // Prints: 2009-06-30
* echo $this->dateoperations->sum(‘2009-07-01′,’year’,1); // Prints: 2010-07-01
* echo $this->dateoperations->subtract(‘2009-07-01′,’day’,15); // Prints: 2009-06-16
*/

class dateOperations {

function sum($date,$what=FALSE,$value,$return_format=’mysql’) {

list($year, $month, $day) = split(“-“, $date);

if ($what!=’day’ && $what!=’month’ && $what!=’year’) return false;

if ($what==’day’) $day = $day + intval($value);
if ($what==’month’) $month = $month + intval($value);
if ($what==’year’) $year = $year + intval($value);

$date_tmp = mktime(0, 0, 0, $month, $day, $year);

if ($return_format==’mysql’) {
$date_tmp = date(‘Y-m-d’, $date_tmp);
} elseif (!$return_format==’timestamp’) {
return false;
}

return $date_tmp;

}

function subtract($date,$what=FALSE,$value,$return_format=’mysql’) {

list($year, $month, $day) = split(“-“, $date);

if ($what!=’day’ && $what!=’month’ && $what!=’year’) return false;

if ($what==’day’) $day = $day – intval($value);
if ($what==’month’) $month = $month – intval($value);
if ($what==’year’) $year = $year – intval($value);

$date_tmp = mktime(0, 0, 0, $month, $day, $year);

if ($return_format==’mysql’) {
$date_tmp = date(‘Y-m-d’, $date_tmp);
} elseif (!$return_format==’timestamp’) {
return false;
}

return $date_tmp;

}

}

?>
[/cc]

Put the dateOperations.php file on application/libraries folder.

Usage examples:

[cc lang=”php”]
< ?php $this->load->library(‘dateoperations’);
echo $this->dateoperations->subtract(‘2009-07-01′,’day’,1); // Prints: 2009-06-30
echo $this->dateoperations->sum(‘2009-07-01′,’year’,1); // Prints: 2010-07-01
echo $this->dateoperations->subtract(‘2009-07-01′,’day’,15); // Prints: 2009-06-16

?>
[/cc]

Download the library

Continue Reading

Did you like this? Share it:

CodeIgniter Folder Icons for Leopard

Hello there! I decided to play a bit and make some folder icons. So here is my contribution for mac developers on this great framework. I made 3 versions, yellow, red and default blue color.

The icon set includes sizes from 16px to 512px, and real folders (just drag and drop on “get info” dialog). As is the case with any downloads I make available here, please do not redistribute the icons or attempt to pass them off as your own.

codeigniterfoldericons

Download codeigniter_iconset.zip (2.03MB)

Did you like this? Share it:

CodeIgniter: Dicas

Hoje eu vou dar alguams dicas que eu uso em todo projeto envolvendo CI. Primeiro, no “url_helper“, eu fiz a seguinte modificação na função base_url():

[cc lang=”php”]
if ( ! function_exists(‘base_url’))
{
function base_url($link=FALSE)
{
$CI =& get_instance();
$baseUrl = $CI->config->slash_item(‘base_url’);
if ($link===TRUE) $baseUrl .= $CI->config->slash_item(‘index_page’);
return $baseUrl;
}
}
[/cc]

Isso me permite usar a função em links, onde eu não sei se o host final suporta mod_rewrite. Assim, eu posso usar

[cc lang=”php”]

[/cc]

que ele automaticamente coloca o index.php antes dos controllers dependendo do seu config.php, e em caso de imagens e inserts de .js, ou .css, é só usar normalmente, base_url(). Normalmente não mecho com o Core do CodeIgniter, portanto eu salvei uma copia do url_helper modificado na minha pasta helpers dentro da pasta application.

Segundo. Essa é muito simples. Quando eu uso a classe Form Validation, e eu tenho um campo em branco que não é obrigatório, e obviamente eu nao precisaria usar uma função set_rules, o campo não é preenchido. No entanto, se eu usar uma função set_rules sem especificar uma regra,

[cc lang=”php”]
$this->form_validation->set_rules(‘field_name’, ”, ”);
[/cc]

eu consigo deixar o campo em branco no formulário, mas se eu digitar alguma coisa, o campo ainda assim é repopulado.

E por último, quando eu uso a classe de upload, as vezes eu tenho que apagar o arquivo quando eu edito um registro com uma foto, por exemplo. Entao eu preciso do caminho absoluto da raiz da aplicação. Não achei nenhuma constante definida pra este caso, então criei uma. No arquivo index.php, insira esta linha após a ultima declaração de constantes:

[cc lang=”php”]
define(‘FULLPATH’, pathinfo(__FILE__, PATHINFO_DIRNAME));
[/cc]

Agora, eu tenho a constante FULLPATH que guarda o caminho absoluto da minha aplocação. Espero que essas pequenas dicas tenham sido útil para alguem 😉

Did you like this? Share it:

Pages:123