<?php
/*
 * This file is part of the easy-CMS project.
 * easy-CMS is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * 
 * easy-CMS is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with easy-CMS; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
 
/**
 * @package Types
 */

/**
 *
 */
include_once('config.inc.php');
include_once('classes/system/File.class.php');

/**
 * Holds image informations.
 *
 * @access   private
 * @author	Cedric Francoys <cedric.francoys@easy-cms.org>
 * @version	Image.class, Tue Nov 16 19:47:19 CET 2004
 * @package	Types
 */
class Image {
	var $value;

	function Image($value = '') {
		$this->setValue($value);
	}

	function getType() {
		return EASY_CMS_TYPE_IMAGE;
	}
		
	function compareTo(&$imgObj){
		return strcmp($this->getValue(), $imgObj->getValue());
	}

	function setValue($value) {
    $this->value = $value;
	}

	function &getValue() {
    return $this->value;
	}

	function getFileName() {
    $value = &$this->getValue();
		$array = explode('/', $value);
		$name = '';
		foreach($array as $node){
			$name = $node;
		}
		return $name;
	}

	function getDirName() {
		$value = &$this->getValue();
		$array = explode('/', $value);
		$name = '';
		$dir = '';
		foreach($array as $node){
			if($dir != '')
				$dir .= '/';
			$dir .= $name;
			$name = $node;
		}
		return $dir;
	}
    
	function toString() {
		return $this->getValue();
	}

	function toXML() {
		$path = $this->getValue();
		$dir = $this->getDirName();
		$file = &new File('', getcwd().'/'.$path);
		$xml = "";
		$xml .= "<path>".$path."</path>\n";
		$xml .= "<dir>".$dir."</dir>\n";
		$xml .= "<name>".$file->getName()."</name>\n";
		$xml .= "<fullname>".$file->getNodeFullName()."</fullname>\n";
		$xml .= "<size>".$file->getSize()."</size>\n";
		$xml .= "<type>".$file->getExtension()."</type>\n";		
		return $xml;	
	}

	function toSQL() {
		return addslashes($this->getValue());
	}

	function toHTML($name) {
		$html = "";
		$html .= "<input type=\"text\" id=\"".$name."_fakefield\" name=\"".$name."_fakefield\" value=\"".$this->getFileName()."\" onchange=\"document.getElementById('".$name."_id').value=this.value;\" size=\"30\"/>\n";
		$html .= "<input type=\"hidden\" id=\"".$name."_id\" name=\"".$name."_id\" value=\"".$this->getValue()."\"/>\n";
		$html .= "<input type=\"button\" class=\"button\" value=\"...\" onclick=\"javascript:launchChooseFileWindow('field=".$name."&type=Images');\"/>\n";

		$html .= "<script type=\"text/javascript\">\n";
		$html .= "function saveContent".$name."(){\n";
		$html .= "document.forms[0].$name.value=document.getElementById(\"".$name."_id\").value;\n";
		$html .= "}\n";
		$html .= "</script>\n";

		return $html;
	}

}
?>