Code Search for Developers
 
 
  

default.php from ECP (EliteCore Project) at Krugle


Show default.php syntax highlighted

<?php
class Renderer {
	const TOP = 3;
	const LEFT = 2;
	const RIGHT = 0;

	private static $file = "default";
	private static $initialized = false;
	private static $alreadyPrinted = array ();
	private static $renderingNodeName = false;
	private static $lastContent = false;
	private static $view = 'index';
	private static $view_has_been_set = false;

	public static function getView() {
		return self :: $view;
	}

	public static function setView($view) {
		if (!self :: $view_has_been_set) {
			self :: $view_has_been_set = true;
			self :: $view = $view;
		} else {
			//throw new Exception;
		}
	}

	public static function setRulesFile($file) {
		self :: $file = $file;
	}
	public static function setRenderingNode($NodeName) {
		self :: $renderingNodeName = $NodeName;
	}
	public static function getRenderingNode() {
		return self :: $renderingNodeName;
	}
	public static function rulesFile() {
		return "core/renderers/" . self :: $file . ".php";
	}
	public static function INIT() {
		if (self :: $initialized)
			return true;
		self :: $initialized = false;
		ModulesManager :: loadModules(); // Load available modules
		Location :: importURL(); // SEO
	}
	public static function PrintContent($position_number) {
		global $ECP;
		if (isset (self :: $alreadyPrinted[$position_number]))
			return;
		else
			self :: $alreadyPrinted[$position_number] = true;
		if (!self :: $initialized)
			self :: INIT();

		$true_offset = $_GET['offset'];
		$_GET['offset'] = "";
		$sort = array ();
		// Sort by height
		foreach (ModulesManager :: getModules() as $Module) {
			if ($Module->getPosition() == $position_number) {
				$height = $Module->getHeight();
				if ($height < 0)
					$height = 0;
				$sort[$height][] = $Module;
			}
		}
		ksort($sort, SORT_NUMERIC);
		// Rendering proccess
		foreach ($sort as $modules) {
			foreach ($modules as $Module) {
				if ($_GET['module'] == $Module->getInstance()) {
					$_GET['offset'] = $true_offset;
					$State = $_GET['op'];
				} else {
					$State = '';
					$_GET['offset'] = "";
				}

				if ($position_number != Engine :: getFlag('mainContent') || $position_number == Engine :: getFlag('mainContent') && (empty ($_GET['module']) && $Module->getInstance() == Engine :: getFlag('homepage') || $_GET['module'] == $Module->getInstance())) {
					ModulesManager :: switchModule($Module);
					ModulesManager :: launchState($Module, $State);
					ModulesManager :: switchModule();
				}
			}
		}

		$_GET['offset'] = $true_offset;

	}
	static function renderState($Module, $State = 'Default', $Params = false) {
		try {
			if (is_string($Module)) {
				$Module = ModulesManager :: loadModule($Module);
			}
			if (!is_array($Params)) {
				$launchParam = Engine :: getFlag('launchParam');
				Engine :: setFlag('launchParam', $Params);
			}
			ModulesManager :: switchModule($Module);
			$Returns = ModulesManager :: launchState($Module, $State);
			if (!is_array($Params)) {
				Engine :: setFlag('launchParam', $launchParam);
			}
			$Content = $Module->getContent();
			//$Content = Engine :: getInstance()->getContent();
			if ($Content === false && isset ($Returns) && $Returns !== false) {
				$Content = $Returns;
			}
			ModulesManager :: switchBack();
			Engine :: setFlag('printContent', $Content);
		} catch (NoModuleException $e) {
			return 'no-module-exception: ' . $e->getMessage();
		}
		return $Content;
	}
	public static function FlushAJAX($NodeContent = false) {
		if (Ajax :: isClientCall()) {
			$Content = Engine :: getFlag('printContent');
			if ($NodeContent) {
				if (!$Content)
					$Content = '';
				$Content = $NodeContent . $Content;
			}
			if ($Content) {
				try {
					$XHTMLParser = new XHTMLParser(String :: cleanXML($Content)->value);
					$XHTMLParser->getElementById(Renderer :: getRenderingNode());
					$Content = $XHTMLParser->getElementById(Renderer :: getRenderingNode())->innerHTML();
					Ajax :: innerHTML(Renderer :: getRenderingNode(), $Content);
				} catch (Exception $e) {
					echo $Content;
				}
			} else {
				global $ECP;
				$Content = $ECP->getContent();
				if ($Content) {
					Ajax :: innerHTML(Renderer :: getRenderingNode(), $Content);
				}
			}
			Ajax :: ThrowException();
		} else
			throw new NoAjaxException;
	}
	public static function renderDefaultState($Module = false, $Params = false) {
		return self :: renderState($Module, 'Default', $Params);
	}

}
?>



See more files for this project here

ECP (EliteCore Project)

EliteCore Project is a PHP5.1/Javascript/AJAX/XHTML/CSS framework for creating WEB 2.0 applications and services.The basic open-source instalation can be also used as an interactive personal page or BLOG.This project uses the latest features available.

Project homepage: http://sourceforge.net/projects/elitecore
Programming language(s): JavaScript,PHP,XML
License: cpl

  default.php