<?php
/*********************************************
** Knjižnica, ki skrbi za delo z datotekami **
** Author: Dave @ zabec.net	 				  **
** Date: 2008 						 				  **
*********************************************/
/* class fileHandling */
/**********************/
class fileHandling
{
	var $file;
	var $file_type;
	var $location;

	/* constructor */
	function fileHandling($prepisi = "true")
	{
		global $debug;
		global $logmode;

		$this->prepisi = $prepisi;

		//errorHandling class
		//$this->error = new errorHandling($debug, $this);
	}

	function upload($file, $path, $filetype, $maxsize = "none")
	{
		$serverMaxSize = intval(ini_get('upload_max_filesize'))*1024*1024;

		if($maxsize == "none")
		{
			$maxsize = $serverMaxSize;
		}
		/* preverimo končnico datoteke */
		$koncnica = strtolower(strrchr($file['name'],"."));

		/* preverimo če je končnica dovoljena */
		if(in_array($koncnica, $filetype))
		{
			if($serverMaxSize > $file['size'])
			{
				if($maxsize > $file['size'] AND $file['error'] == 0)
				{
					$new_name = basename($file['name']);
					if(file_exists($path.$new_name))
					{
						$new_name = rand(1,99)."_".$new_name;
					}
					$datoteka = $path.$new_name;
					if(!move_uploaded_file($file['tmp_name'], $datoteka))
					{
						echo "Napaka pri premiku datoteke!";
						return false;
					}
				}
				else
				{
					echo "Datoteka je prevelika!";
					return false;
				}
			}
			else
			{
				echo "Server ne dovoljuje prenosa tako velikih datotek!";
				return false;
			}
		}
		else
		{
			echo "Nedovoljen tip datoteke ali datoteka ni podana!";
			return false;
		}
	return $new_name;
	}

	/* preimenovanje datoteke */
	function preimenuj($file, $new_file)
	{
		if(rename($file, $newfile))
		{
			return true;
		}
		else
		{
			//error
			$this->error->log("Napaka pri preimenovanju datoteke!", $this->logmode, "fatal", "Napaka pri preimenovanju $file v $newfile", 1);
			return false;
		}
	}

	/* izbris datoteke */
	function izbrisi($file)
	{
		if(unlink($file))
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/* premik ali preimenovanje datoteke */
	function premakni($file, $new_file)
	{
		if(rename($file, $new_file))
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/* kopiranje datoteke */
	function kopiraj($file, $new_file)
	{
		if(file_exists($new_file))
		{
			$path = dirname($new_file);
			$koncnica = strtolower(strrchr($new_file,"."));
			$nfile = basename($new_file, $koncnica);
			$new_file = $path."/".$nfile."_".rand(1,99).$koncnica;
			$this->kopiraj($file, $new_file);
		}
		else
		{
			if(copy($file, $new_file))
			{
				$this->newFileName = basename($new_file);
				return true;
			}
			else
			{
				return false;
			}
		}
	}

	/* informacije o datoteki */
	function velikost($file)
	{
		$velikost = filesize($file);
		$velikost = round($velikost/1024);
		$koncnica = " Kb";

		//prikaz v MB
		if($velikost > 1024)
		{
			$velikost = round($velikost/1024, 2);
			$koncnica = " Mb";
		}

		return $velikost.$koncnica;
	}

}
?>