<?php
///////////////////////////////////////////////////////////////////////////////////////
// PHPizabi 0.848b C1 [ALICIA]                               http://www.phpizabi.net //
///////////////////////////////////////////////////////////////////////////////////////
// Please read the license.txt file before using / modifying this software           //
// Original author:         Claude Desjardins, R - feedback@realitymedias.com        //
// Last modification date:  August 13th 2006                                         //
// Version:                 PHPizabi 0.848b C1                                       //
//                                                                                   //
// (C) 2005, 2006 Real!ty Medias / PHPizabi - All rights reserved                    //
///////////////////////////////////////////////////////////////////////////////////////

	/* Check Structure Availability */
	if (!defined("CORE_STRAP")) die("Out of structure call");
	/* Administrative restriction */
	(!me('is_administrator')&&!me('is_superadministrator')?die("Access restricted"):NULL);

	$tpl = new template;
	$tpl -> Load("edit");
	
	// GET NEWS DATA ///////////////////////////////////////////////////////
	$newsArray = unpk(file_get_contents("system/cache/news.dat"));
	if (!is_array($newsArray)) $newsArray = array();

	foreach ($newsArray as $key => $newsEntity) {
		if ($newsEntity["date"] == $_GET["id"]) {
			$news = $newsEntity;
			$newsKey = $key;
			break;
		}
	}

	// ASSIGN NEWS DATA /////////////////////////////////////////////////////
	$tpl -> AssignArray(array(
		"news.title" => $news["title"],
		"news.body" => $news["body"],
		"ck.lvl.guests" => (in_array("g", $news["access"]) ? "checked=\"checked\"" : NULL),
		"ck.lvl.users" => (in_array("u", $news["access"]) ? "checked=\"checked\"" : NULL)
	));
	
	// ASSIGN USERS LEVELS //////////////////////////////////////////////////
	$heritage = unpk(file_get_contents($CONF["HERITAGE_INFOFILE"]));
	if (!is_array($heritage)) $heritage = array();
	
	foreach ($heritage as $key => $levelArray) {
	
		$levelsReplacementArray[] = array(
			"level.id" => $key,
			"level.title" => $levelArray["NAME"],
			"level.checked" => (in_array($key, $news["access"]) ? "checked=\"checked\"" : NULL)
		);
	}
	
	if (isset($levelsReplacementArray)) {
		$tpl -> Zone("usersLevels", "enabled");
		$tpl -> Loop("usersLevels", $levelsReplacementArray);
	}
		
	// HANDLE POST DATA /////////////////////////////////////////////////////
	if (isset($_POST["Submit"], $_POST["title"], $_POST["body"])) {
		
		$newsArray[$newsKey] = array(
			"title" => $_POST["title"],
			"date" => date("U"),
			"body" => $_POST["body"],
			"access" => (isset($_POST["show"]) ? $_POST["show"] : array())
		);
		
		if ($handle = fopen("system/cache/news.dat", "w")) {
			fwrite($handle, pk($newsArray));
			fclose($handle);
			$tpl -> Zone("save", "success");
			_fnc("reload", 3, "?L=admin.news.news");
		}
		
		else $tpl -> Zone("save", "error");
	}
	
	else $tpl -> Zone("edit", "enabled");

	
	// TEMPLATE REPROCESS & FLUSH ////////////////////////////////////////////////////
	$tpl -> CleanZones();

	/* Get the frame templates, flush the TPL result into it */
	$frame = new template;
	$frame -> Load("!theme/{$GLOBALS["THEME"]}/templates/admin/frame.tpl");
	$frame -> AssignArray(array(
		"jump" => $tpl->Flush(1)
	));
	
	/* Assign Location Value */
	$locationArray = explode(".", $_GET["L"]);
	for ($i=0; $i<count($locationArray); $i++) {
		$locationAppendResult[] = $locationArray[$i];
		if ($i > 0) $location[] = "<a href=\"?L=".implode(".", $locationAppendResult)."\">{$locationArray[$i]}</a>";
	}
	$frame -> AssignArray(array("location" => implode(" &raquo; ", $location)));
	
	/* Set the forced chromeless mode, flush the template */
	$GLOBALS["CHROMELESS_MODE"] = 1;
	$frame -> Flush();
	
?>