Codeigniter 3 – Fast setup

Download and extract codeigniter. In main folder create another folder named assets. There will be additional files for css, js and more.

Setup configuration files. Go to application/config:
– in autoload.php

$autoload['libraries'] = array('database','session');
$autoload['helper'] = array('url','form');

– in config.php

$config['base_url'] = 'http://www.example.com/';
$config['index_page'] = '';
$config['encryption_key'] = 'someEncryptionKey';
$config['sess_save_path'] = sys_get_temp_dir(); //Fix problems with session

– in database.php

'username' => 'root',
'password' => 'rootPassword',
'database' => 'DatabaseName',

– in routes.php

$route['default_controller'] = 'Main_controller';

Step 2 Create Main_controller file in application/controllers
Easiest way is to copy and rename Welcome.php

Step 3 Create .htaccess file in main folder. This is a must for routing!

RewriteEngine On

RewriteCond %{HTTP_HOST} ^my-domain.com [NC]
RewriteRule ^(.*)$ http://www.my-domain.com/$1 [L,R=301]

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /index\.php(/[^\ ]*)?\ HTTP/
RewriteRule ^index\.php(/(.*))?$ http://www.my-domain.com/$2 [R=301,L]
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

Multilanguage CodeIgniter 3.0

In this tutorial we will implement multilanguage to CodeIgniter.

Site Default Language
Open the application/config/config.php file and specify the site’s default language.

$config['language']  = 'bulgarian';  //Language you want to be default

Language Files

The language files must be named with _lang suffix. For example, if you want to create a file containing site’s message translation then the file name might be message_lang.php.

Insert those files into the application/language/ directory with separate sub-directories for each language (for example, english, bulgarian, etc.).
Continue reading “Multilanguage CodeIgniter 3.0” »

Pagination example

PHP and HTML

  • «
  • $last){$top=$last;} if($x<=0){$bottom+=1;$top+=1;} } for($i=$bottom;$i<=$top;$i++){ ?>
  • ">
  • »

jQuery

$(document).on("click",".pbutton",function() {
		var selected = this.text; //Selected page
		if(selected=="«"){selected = 1;} //first rows
		if(selected=="»"){selected = $(".last_page").attr("id");} //last rows
		
		$.ajax({
		  url:'admin.php',
		  type:'POST',
		  data:{ 
			command:"show_regular_quotation", //name of var: value of var  
			selected:selected
		  }  
		 }).done(function(data){
			$(".content").html(data);
		});		
	});

The code is perfectly compatible with bootstrap.

Currency convertor with PHP

function currency_convert($amount, $from, $to){
	$result = file_get_contents("https://www.google.com/finance/converter?a=$amount&from=$from&to=$to");
	$result = explode("",$result);
	$result = explode("",$result[1]);  
	$converted_amount = preg_replace("/[^0-9\.]/", null, $result[0]);
	echo $converted_amount;
}

currency_convert(1,'gbp','usd');

Function for getting random word from words in brackets


function randomWords($paragraph){ //get one from the words in {}
		preg_match_all('/{(.*?)}/s', $paragraph, $matches);
		foreach($matches[1] as $variations){
			$variations_array = explode('|',$variations);
			$paragraph = str_ireplace('{'.$variations.'}',$variations_array[array_rand($variations_array)],$paragraph);
		}
		return $paragraph;
	}

For example {traces | trails | spots}. Will return one of the words in brackets.

PHP function for downloading images from http

This function will download images from another site , resize them and put suffix (if needed).

function download_resized_jpeg($filename,$width,$height,$suffix){
	$name = explode('/',$filename);
	$newfilename = end($name);

	// Content type
	//header('Content-Type: image/jpeg');

	list($width_orig, $height_orig, $type) = getimagesize($filename);

	$ratio_orig = $width_orig/$height_orig;

	if ($width/$height > $ratio_orig) {
	   $width = $height*$ratio_orig;
	} else {
	   $height = $width/$ratio_orig;
	}

	// Resample
	$image_p = imagecreatetruecolor($width, $height);
	if ($type == 1)
    {
        $image = imagecreatefromgif($filename);
    }
    elseif ($type == 2)
    {
        $image = imagecreatefromjpeg($filename);
    }
    elseif ($type == 3)
    {
        $image = imagecreatefrompng($filename);
    }
    else
    {
        $image = imagecreatefromwbmp($filename);
    }
	
	if($type==1 or $type==3) //this code below should preserve transparency but I couldn't try it out for now...
    {
        imagealphablending($image_p, false);
        imagesavealpha($image_p, true);
        imagecolortransparent($image_p, imagecolorallocatealpha($image_p, 0, 0, 0, 127));
    }
	
	imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

	// Output
	if ($type == 1)
        imagegif ($image_p, "../pictures/$newfilename$suffix".".gif", 100);
    elseif ($type == 2)
        imagejpeg($image_p, "../pictures/$newfilename$suffix".".jpg", 100);
    elseif ($type == 3)
        imagepng ($image_p, "../pictures/$newfilename$suffix".".png", 0);
    else
        imagewbmp ($image_p, "../pictures/$newfilename$suffix".".bmp", 100);
}