<?php

/*************************************************************************/
/* DOCEBO CMS - Content Management System                                */
/* ============================================                          */
/*                                                                       */
/* Copyright (c) 2005 by Giovanni Derks <virtualdarkness[AT]gmail-com>   */
/* http://www.docebocms.org                                              */
/*                                                                       */
/* This program 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.        */
/*************************************************************************/


function newsBlockEdit(& $out, & $lang, & $form, $block_id, $sub_id) {

	$opt=loadBlockOption($block_id);

	include_once($GLOBALS["where_cms"]."/admin/modules/news/news_class.php");

	$tree=createTreeView();

	if( isset($_POST[$tree->_getFolderNameId()]) ) { // Al cambio cartella:
		$folderid = $_POST[$tree->_getFolderNameId()];
	}
	else { // La prima volta che carica la pagina con l'albero:
		unset($tree);
		$tree=createTreeView(true, false, false, $opt["path"]);
		$folderid = $tree->getSelectedFolderId();

		//set_folder_from_path("/hlkjl2/sub", $tree);
		//set_folder_from_path($opt["path"], $tree);
		//$tree->expandPath($opt["path"]);
		//--debug-// print_r($tree->expandList);
	}

	$tree->show_icons=0;

	$folder=$tree->tdb->getFolderById( $tree->getSelectedFolderId() );

	$name=$tree->_getFolderNameId();
	$value=$folderid;
	$out->add($form->getHidden($name, $name, $value));

	$name="folder_id";
	$value=$tree->getSelectedFolderId();
	$out->add($form->getHidden($name, $name, $value));

	//$out->add('<div><b>'._FOLDER.':</b></div>');
	$out->add($tree->load());


	$out->add(getBlockTitleField($form, $lang, $block_id));

 	$out->add(block_css_list($form, $lang, $opt["css"]));


	$lang_arr=array();
	$tmp_array=$GLOBALS['globLangManager']->getAllLangCode();
	$lang_arr[]=$lang->def("_DEFAULT");
	foreach($tmp_array as $key=>$val) {
		$lang_arr[$val]=$val;
	}
	$force_lang=((isset($opt["force_lang"]) && (!empty($opt["force_lang"]))) ? $opt["force_lang"] : FALSE);
	$out->add($form->getDropdown($lang->def("_LANG"), "force_lang", "force_lang", $lang_arr, $force_lang));


	$pubdate=(isset($opt["pubdate"]) ? $opt["pubdate"] : "");
	$expdate=(isset($opt["expdate"]) ? $opt["expdate"] : "");
 	$out->add(show_pubexp_table($form, $lang, $pubdate, $expdate));

	if ((isset($opt["use_comments"])) && ($opt["use_comments"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_USE_COMMENTS"), "use_comments", "use_comments", "1", $chk));

	/* if ((isset($opt["ov_comments"])) && ($opt["ov_comments"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_OVERRIDE_COM"), "ov_comments", "ov_comments", "1", $chk)); */



	if ((isset($opt["recurse"])) && ($opt["recurse"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_NEWS_RECOURSE"), "recurse", "recurse", "1", $chk));

	$out->add($form->getTextfield($lang->def("_NEWS_NUMBER"), "number", "number", 3, $opt["number"]));

	if ((isset($opt["show_newsdate"])) && ($opt["show_newsdate"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_SHOW_NEWSDATE"), "show_newsdate", "show_newsdate", "1", $chk));

	if ((isset($opt["show_newslink"])) && ($opt["show_newslink"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_SHOW_NEWSLINK"), "show_newslink", "show_newslink", "1", $chk));

	if ((isset($opt["show_commentslink"])) && ($opt["show_commentslink"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_SHOW_COMMENTSLINK"), "show_commentslink", "show_commentslink", "1", $chk));

	/* if ((isset($opt["show_catlink"])) && ($opt["show_catlink"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_SHOW_CATLINK"), "show_catlink", "show_catlink", "1", $chk)); */

	if ((isset($opt["show_topiclink"])) && ($opt["show_topiclink"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_SHOW_TOPICLINK"), "show_topiclink", "show_topiclink", "1", $chk));

	if ((isset($opt["show_search"])) && ($opt["show_search"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_SHOW_SEARCH"), "show_search", "show_search", "1", $chk));

	if ((isset($opt["show_attach_inline"])) && ($opt["show_attach_inline"])) $chk=true; else $chk=false;
	$out->add($form->getCheckBox($lang->def("_SHOW_ATTACH_INLINE"), "show_attach_inline", "show_attach_inline", "1", $chk));


	$out->add(getBlindNavDescField($form, $lang, $opt));
	$out->add(getGMonitoringField($form, $lang, $opt));

}



function newsBlockSave($block_id, $sub_id) {

	saveBlockTitle($block_id);

	saveParam($block_id, "css", (int)$_POST["css"]);
	saveParam($block_id, "force_lang", $_POST["force_lang"]);
	saveParam($block_id, "recurse", (int)$_POST["recurse"]);
	saveParam($block_id, "show_newsdate", (int)$_POST["show_newsdate"]);
	saveParam($block_id, "show_newslink", (int)$_POST["show_newslink"]);
	saveParam($block_id, "show_commentslink", (int)$_POST["show_commentslink"]);
	// saveParam($block_id, "show_catlink", (int)$_POST["show_catlink"]);
	saveParam($block_id, "show_topiclink", (int)$_POST["show_topiclink"]);
	saveParam($block_id, "show_search", (int)$_POST["show_search"]);
	saveParam($block_id, "number", (int)$_POST["number"]);
	saveParam($block_id, "use_comments", (int)$_POST["use_comments"]);
	saveParam($block_id, "show_attach_inline", (int)$_POST["show_attach_inline"]);

	saveBlockPath($block_id, (int)$_POST["folder_id"], "_news_dir");

	save_pubexp_info($block_id);

	saveBlindNavDesc($block_id);
	saveGMonitoring($block_id);

}


function newsBlockAdd($block_id, $sub_id) {

	saveParam($block_id, "css", 1);
	saveParam($block_id, "path", "/");
	saveParam($block_id, "recurse", 1);
	saveParam($block_id, "show_newsdate", 1);
	saveParam($block_id, "show_newslink", 1);
	saveParam($block_id, "show_commentslink", 0);
	// saveParam($block_id, "show_catlink", 0);
	saveParam($block_id, "show_search", 0);
	saveParam($block_id, "show_topiclink", 0);
	saveParam($block_id, "number", 10);
	saveParam($block_id, "use_comments", 1);

}





// OLD / TEMP:

function news_options( $block ) {
	global $prefixCms;

	$backurl = $block->getBackurl();
	echo '<form method="POST" action="'.page_url(array()).'">' //&amp;insert=1
		.'<div class="stdBlock">';
	$block->loadParamAsInput();

	$idBlock=$block->getIdBlock();
	$q=mysql_query("SELECT title FROM ".$prefixCms."_area_block WHERE idBlock='$idBlock';");
	list($title)=mysql_fetch_row($q);

	$opt=loadBlockOption($idBlock); //--debug-//print_r($opt);
	echo "<br />";

	// ------- mostro albero ----------------------------------------------\

	include_once("admin/modules/news/news_class_sel.php");

	$tree=createTreeView();

	if( isset($_POST[$tree->_getFolderNameId()]) ) { // Al cambio cartella:
		$folderid = $_POST[$tree->_getFolderNameId()];
	}
	else { // La prima volta che carica la pagina con l'albero:
		unset($tree);
		$tree=createTreeView(true, false, false, $opt["path"]);
		$folderid = $tree->getSelectedFolderId();

		//set_folder_from_path("/hlkjl2/sub", $tree);
		//set_folder_from_path($opt["path"], $tree);
		//$tree->expandPath($opt["path"]);
		//--debug-// print_r($tree->expandList);
	}

	$tree->show_icons=0;

	$folder=$tree->tdb->getFolderById( $tree->getSelectedFolderId() );
	//echo '<input type="hidden" value="" name="'._getOpMoveFormId().'" />';
	echo '<input type="hidden" value="'.$folderid.'" name="'.$tree->_getFolderNameId().'" />';
	echo '<input type="hidden" value="'.$tree->getSelectedFolderId().'" name="folder_id" />';
	echo '<div><b>'._FOLDER.':</b></div>';
	$tree->load();
	// --------------------------------------------------------------------/

	echo("<br /><b>"._BLOCK_TITLE.":</b>\n");
	echo("<input type=\"text\" id=\"title\" name=\"title\" size=\"25\" value=\"".$title."\" /><br />\n");

	echo("<br />\n");
	$db_group=db_block_groups($idBlock);
	sel_block_groups($idBlock, $db_group);

	echo("<br /><b>"._BLOCK_STYLE.":</b>\n");
	block_css_list($opt["css"]);

	echo("<br /><br />\n");
	show_pubexp_table($opt["pubdate"], $opt["expdate"]);

	if ($opt["ov_comments"]) $chk_ov_com=" checked=\"checked\""; else $chk_ov_com="";
	echo("<br /><br />\n<input type=\"checkbox\" id=\"ov_comments\" name=\"ov_comments\" value=\"1\"$chk_ov_com />\n");
	echo("<b>"._OVERRIDE_COM."</b>\n");

	if ($opt["ov_pub"]) $chk_ov_pub=" checked=\"checked\""; else $chk_ov_pub="";
	echo("<br /><br />\n<input type=\"checkbox\" id=\"ov_pub\" name=\"ov_pub\" value=\"1\"$chk_ov_pub />\n");
	echo("<b>"._OVERRIDE_PUB."</b>\n");

	if ($opt["ov_exp"]) $chk_ov_exp=" checked=\"checked\""; else $chk_ov_exp="";
	echo("<br /><br />\n<input type=\"checkbox\" id=\"ov_exp\" name=\"ov_exp\" value=\"1\"$chk_ov_exp />\n");
	echo("<b>"._OVERRIDE_EXP."</b>\n");

	echo("<br /><br /><b>"._NEWS_NUMBER.":</b>\n");
	echo("<input type=\"text\" id=\"number\" name=\"number\" size=\"3\" value=\"".$opt["number"]."\" />\n");

	if ($opt["recurse"]) $chk=" checked=\"checked\""; else $chk="";
	echo("<br /><br />\n");
	echo("<input type=\"checkbox\" id=\"recurse\" name=\"recurse\" value=\"1\"$chk />\n");
	echo("<b>"._NEWS_RECOURSE."</b>\n");

	if ($opt["show_newslink"]) $chk=" checked=\"checked\""; else $chk="";
	echo("<br /><br />\n<input type=\"checkbox\" id=\"show_newslink\" name=\"show_newslink\" value=\"1\"$chk />\n");
	echo("<b>"._SHOW_NEWSLINK."</b>\n");

	if ($opt["show_commentslink"]) $chk=" checked=\"checked\""; else $chk="";
	echo("<br /><br />\n<input type=\"checkbox\" id=\"show_commentslink\" name=\"show_commentslink\" value=\"1\"$chk />\n");
	echo("<b>"._SHOW_COMMENTSLINK."</b>\n");

	if ($opt["show_catlink"]) $chk=" checked=\"checked\""; else $chk="";
	echo("<br /><br />\n<input type=\"checkbox\" id=\"show_catlink\" name=\"show_catlink\" value=\"1\"$chk />\n");
	echo("<b>"._SHOW_CATLINK."</b>\n");

	if ($opt["show_topiclink"]) $chk=" checked=\"checked\""; else $chk="";
	echo("<br /><br />\n<input type=\"checkbox\" id=\"show_topiclink\" name=\"show_topiclink\" value=\"1\"$chk />\n");
	echo("<b>"._SHOW_TOPICLINK."</b>\n");


	echo '<br /><br /><input class="button" type="submit" id="save" name="save" value="'._NEWS_INSERT.'" />'
		.'</div>'
		.'</form>';

	// back option
	echo '<form method="post" action="'.$backurl['backurl'].'">'
		.'<div class="stdBlock">';
	$block->loadParamAsInput();
	echo '<input class="button" type="submit" value="'._NEWS_BACK.'" />'
		.'</div>'
		.'</form>';

}



function set_folder_from_path($path, &$tree) {
	global $prefixCms;

	$parr=explode("/", $path);
	array_shift($parr);

	$i=0;
	$cpath="";
	$id_arr=array();
	foreach($parr as $key=>$val) {

		$cpath.="/".$val;

		//--debug--// echo $cpath."<br />";

		$row=mysql_fetch_array(mysql_query("SELECT * FROM ".$prefixCms."_news_dir WHERE path='$cpath';"));
		$id_arr[$i]=$row["id"];

		$i++;
	}

	//--debug--// print_r($id_arr);

	$tree->expandList=$id_arr;
	$tree->selectedFolder=end($tree->expandList);
}



function save_options( $block ) {
	global $prefixCms;

	//--debug--// print_r($_POST);

	$backurl = $block->getBackurl();
	$idBlock=$block->getIdBlock();

	if ((int)$_POST["folder_id"] == 0)
		$path="/";
	else {
		$q=mysql_query("SELECT * FROM ".$prefixCms."_news_dir WHERE id='".$_POST["folder_id"]."';");
		$row=mysql_fetch_array($q);

		$path=$row["path"];
	}

	$q=mysql_query("UPDATE ".$prefixCms."_area_block SET title='".$_POST["title"]."' WHERE idBlock='$idBlock';");

	$err="";
	saveParam($idBlock, "number", (int)$_POST["number"]);
	saveParam($idBlock, "path", $path);
	saveParam($idBlock, "recurse", (int)$_POST["recurse"]);
	saveParam($idBlock, "css", (int)$_POST["css"]);
	saveParam($idBlock, "ov_comments", (int)$_POST["ov_comments"]);
	saveParam($idBlock, "ov_pub", (int)$_POST["ov_pub"]);
	saveParam($idBlock, "ov_exp", (int)$_POST["ov_exp"]);
	saveParam($idBlock, "show_newslink", (int)$_POST["show_newslink"]);
	saveParam($idBlock, "show_commentslink", (int)$_POST["show_commentslink"]);
	saveParam($idBlock, "show_catlink", (int)$_POST["show_catlink"]);
	saveParam($idBlock, "show_topiclink", (int)$_POST["show_topiclink"]);
	if (check_period($ts_pub, $ts_exp)) {
		saveParam($idBlock, "pubdate", (int)$ts_pub);
		saveParam($idBlock, "expdate", (int)$ts_exp);
	}
	else
		$err=_INVALID_PERIOD;
	save_block_groups($idBlock, $_POST["idGroups"]);

	// back option
	echo '<form method="post" action="'.$backurl['backurl'].'">'
		.'<div class="stdBlock">';
	$block->loadParamAsInput();

	if ($err == "") {
		echo("<b>"._NEWS_ALLOK."</b><br />");
		echo '<input class="button" type="submit" value="'._NEWS_BACK.'" />';
	}
	else {
		echo("<b><font color=\"#FF0000\">"._WARN."</font>:</b> $err<br />"._SAVEDREMAIN."<br /><br />\n");
		echo '<input class="button" type="submit" value="'._NEWS_BACK.'" />';
	}


	echo '</div></form>';
}

?>