/**
 * This source file is is part of Saurus CMS content management software.
 * It is licensed under MPL 1.1 (http://www.opensource.org/licenses/mozilla1.1.php).
 * Copyright (C) 2000-2010 Saurused Ltd (http://www.saurus.info/).
 * Redistribution of this file must retain the above copyright notice.
 * 
 * Please note that the original authors never thought this would turn out
 * such a great piece of software when the work started using Perl in year 2000.
 * Due to organic growth, you may find parts of the software being
 * a bit (well maybe more than a bit) old fashioned and here's where you can help.
 * Good luck and keep your open source minds open!
 * 
 * @package		SaurusCMS
 * @copyright	2000-2010 Saurused Ltd (http://www.saurus.info/)
 * @license		Mozilla Public License 1.1 (http://www.opensource.org/licenses/mozilla1.1.php)
 * 
 */

 
function edit_objekt () {
	global $site;
	global $objekt;
	global $keel;
?>

        <TR> 
          <TD noWrap><?=$site->sys_sona(array(sona => "Artiklite arv", tyyp=>"editor"))?>:</TD>
          <TD> 
            <input type=text name="art_arv" value="<?=$objekt->all[art_arv]>0 ? $objekt->all[art_arv]:"5"?>" class="scms_flex_input" style="width:30px" >
          </TD>
          <TD nowrap align="right" style="padding-left:15px"><?=$site->sys_sona(array(sona => "Naita kuupaev", tyyp=>"editor"))?>:</td>
          <TD width="100%" style="padding-left:0px"> 
            <input type=checkbox name="on_kp_nahtav" value="1" <?=$objekt->all[on_kp_nahtav]?"checked":""?>>
          </td></TR>

    <tr>
      <td noWrap valign="top"><?=$site->sys_sona(array(sona => "Uudiste rubriigid", tyyp=>"editor"))?>:</td>
      <td colspan="3">
<?
		$class_path = "../classes/";
		include_once($class_path."rubloetelu.class.php");
		$rubs = new RubLoetelu(array(
			"keel" => $keel,
			"required_perm" => "is_visible",		
		));
		$topparents = $rubs->get_loetelu();

#		$rubs->debug->print_msg();
		if ($objekt->objekt_id) {
			$sql = $site->db->prepare("SELECT objekt_id FROM objekt_objekt WHERE parent_id=?",
				$objekt->objekt_id
			);
			$sth = new SQL($sql);
			$rubriigid = array();
			while ($rid=$sth->fetchsingle()) {
				$rubriigid[$rid]=1;
			}
		}
		print "<SELECT style=\"WIDTH: 99%; height: 150px\" multiple name=\"news_rubrigid[]\" size=7>";
		print $site->alias("rub_system_id");
		asort($topparents);
		foreach ($topparents as $key=>$value) {
			if ($key != $site->alias("rub_system_id")) {
?>
				<option value="<?=$key?>" <?=($rubriigid[$key] ? "selected":"")?>><?=$topparents[$key]?></option>
<?
			}
		} 
?>
</select>
	  </td>
    </tr>
	<input name="permanent_parent_id" type=hidden value="<?=$objekt->parent_id?>">
<?
}
function print_parent_selectbox()
{
    global $site;
    global $objekt;
    global $tyyp;
    global $class_path;
    global $keel;
    $parent_is_rubriik = true;
    # kas objekti parent(s) on rubriik v�i mitte
    ############ 1. objekt olemas, leia tema parent-objektid:
    if ($objekt->objekt_id) {
        $sql = $site->db->prepare("SELECT objekt_objekt.parent_id, objekt.tyyp_id, objekt.pealkiri\r\n\t\t\tFROM objekt_objekt\r\n\t\t\t\tLEFT JOIN objekt ON objekt_objekt.parent_id = objekt.objekt_id\r\n\t\t\tWHERE objekt_objekt.objekt_id=?", $objekt->objekt_id);
    } elseif ($site->fdat['parent_id']) {
        $sql = $site->db->prepare("SELECT objekt_objekt.objekt_id AS parent_id, objekt.tyyp_id, objekt.pealkiri\r\n\t\t\tFROM objekt_objekt\r\n\t\t\t\tLEFT JOIN objekt ON objekt_objekt.objekt_id = objekt.objekt_id\r\n\t\t\tWHERE objekt_objekt.objekt_id=?", $site->fdat['parent_id']);
    }
    if ($sql) {
        $sth = new SQL($sql);
        $site->debug->msg($sth->debug->get_msgs());
        while ($tmp = $sth->fetch()) {
            $rubriigid[$tmp['parent_id']] = 1;
            # kui t��p ei ole rubriik, siis pane hoiatusm�rge p�sti
            if ($tmp['tyyp_id'] != 1) {
                $parent_is_rubriik = false;
            }
            # salvesta parentite nimed:
            $parent_name_arr[] = $tmp['pealkiri'];
        }
        ######### get parent object	(only for existing object)
        $current_parent = new Objekt(array(objekt_id => $objekt->parent_id));
    }
    # if sql
    # luba rubriigi selectboxi ainult j�rgmiste klasside korral:
    # rubriik, album, asset, dokument, gallup
    # JA siis kui parent on rubriik
    if ($parent_is_rubriik && ($tyyp['klass'] == "rubriik" || $tyyp['klass'] == "album" || $tyyp['klass'] == "asset" || $tyyp['klass'] == "dokument" || $tyyp['klass'] == "gallup" || $tyyp['klass'] == "link") || $tyyp['klass'] == "kommentaar") {
        # rubriike, mis on sys_alias, ei tohi �mber t�sta
        if ($objekt->all["sys_alias"] == '' && $site->fdat['sys_alias'] == '') {
            ########### parentid leitud, koosta rubriikide puu:
            # Bug #1988: juhul kui objekt on olemas, aga useril ei ole tema parentile C �igust,
            # siis tuleb see parent rubriikide nimistusse ise lisada (ignore_perm_for_obj).
            $class_path = "../classes/";
            include_once $class_path . "rubloetelu.class.php";
            if ($parent_is_rubriik) {
                $rubs = new RubLoetelu(array("keel" => $keel, "required_perm" => "C", "ignore_perm_for_obj" => $current_parent->objekt_id));
            } else {
                if ($tyyp['klass'] == 'kommentaar') {
                    $rubs = new RubLoetelu(array("keel" => $keel, "required_perm" => "C", "ignore_perm_for_obj" => $current_parent->objekt_id, "object_type_ids" => '1,2,14,15'));
                }
            }
            #$rubs->debug->print_msg();
            $topparents = $rubs->get_loetelu();
            if (is_array($topparents)) {
                asort($topparents);
            }
            // setup for section selection
            $_SESSION['parent_selection']['callback'] = 'window.opener.updateSection';
            $_SESSION['parent_selection']['selectable'] = 1;
            $_SESSION['parent_selection']['hide_language_selection'] = '1';
            $_SESSION['parent_selection']['db_fields'] = array('select_checkbox', 'objekt_id', 'pealkiri');
            $_SESSION['parent_selection']['display_fields'] = array('select_checkbox', 'pealkiri');
            if ($parent_is_rubriik) {
                $_SESSION['parent_selection']['mem_classes'] = array('rubriik');
                //this sucks, really
            } else {
                $_SESSION['parent_selection']['mem_classes'] = array('rubriik', 'artikkel', 'kommentaar', 'teema');
                //this sucks, really
            }
            ########## print section selectbox:
            ?>
		  <tr>
		  <td nowrap><?php 
            echo $site->sys_sona(array(sona => "Rubriigid", tyyp => "editor"));
            ?>
:</td>
		  <td width="99%">
<!-- SITE EXPLORER -->
		  <script type="text/javascript">



			function chooseSection()
			{

			explorer_window = openpopup('explorer.php?objekt_id=home&editor=1&swk_setup=parent_selection&remove_objects=<?php 
            echo $site->fdat['id'];
            ?>
&pre_selected=' + document.getElementById('rubriik').value, 'cms_explorer', '800','600');

			}

			function updateSection(sections)
			{
				explorer_window.close();
				var section_name = document.getElementById('section_name');
				var section_id = document.getElementById('rubriik');
				var trail_path= new Array();

					for(var j = 0; j < sections[0].trail.length; j++){
						trail_path[j] = sections[0].trail[j].pealkiri;
					}

				section_name.innerHTML = '<a href="#" onclick="chooseSection();">' + trail_path.join("->") + '</a>';
				section_id.value = sections[0].objekt_id;
			}

		  </script>
<?php 
            if (is_array($rubriigid)) {
                foreach ($topparents as $k => $v) {
                    if (key($rubriigid) == $k) {
                        $section_name = $v;
                    }
                }
            }
            ?>
		  <table cellpadding="0" cellspacing="0" class="cf_container">
			<tr>
				<th>
				<input type="hidden" name="rubriik[]" id="rubriik" value="<?php 
            echo key($rubriigid);
            ?>
">
				<span id="section_name"><a href="javascript:chooseSection();"><?php 
            echo $section_name ? $section_name : $site->sys_sona(array('sona' => 'choose_section', 'tyyp' => $EXTENSION['name']));
            ?>
</a></span></th>
				<td ><a href="javascript:chooseSection();">..</a></td>
			</tr>
		</table>
<!-- END OF SITE EXPLORER -->

		  </td>
		</tr>
	<?php 
        }
        # rubriike, mis on sys_alias, ei tohi �mber t�sta
    } else {
        ?>
		  <tr>
		  <td nowrap><?php 
        echo $site->sys_sona(array(sona => "Rubriigid", tyyp => "editor"));
        ?>
:</td>
		  <td width="100%">
			<?php 
        # print parent names
        if (sizeof($parent_name_arr) > 0) {
            echo join("<br>", $parent_name_arr);
        }
        ?>
		  </td>
		</tr>
	<?php 
    }
    # dont show selectbox
}
/**
 * This source file is is part of Saurus CMS content management software.
 * It is licensed under MPL 1.1 (http://www.opensource.org/licenses/mozilla1.1.php).
 * Copyright (C) 2000-2010 Saurused Ltd (http://www.saurus.info/).
 * Redistribution of this file must retain the above copyright notice.
 * 
 * Please note that the original authors never thought this would turn out
 * such a great piece of software when the work started using Perl in year 2000.
 * Due to organic growth, you may find parts of the software being
 * a bit (well maybe more than a bit) old fashioned and here's where you can help.
 * Good luck and keep your open source minds open!
 * 
 * @package		SaurusCMS
 * @copyright	2000-2010 Saurused Ltd (http://www.saurus.info/)
 * @license		Mozilla Public License 1.1 (http://www.opensource.org/licenses/mozilla1.1.php)
 * 
 */
function edit_objekt()
{
    global $site;
    global $objekt;
    global $keel;
    global $class_path;
    global $tyyp;
    // refreshing (fdat['refresh'] = 1) looses object data, I don't know why and because it's done in edit_object.php, I'm not going to fix it, lord knows what it'll screw up
    if ($site->fdat['refresh'] && $site->fdat['id']) {
        $obj = new Objekt(array('objekt_id' => $site->fdat['id']));
        $objekt->objekt_id = $obj->objekt_id;
        $objekt->parent_id = $obj->parent_id;
    }
    if ($objekt->parent_id || $site->fdat['op'] == 'new') {
        $parent = new Objekt(array('objekt_id' => $objekt->objekt_id ? $objekt->parent_id : $site->fdat['parent_id']));
        $pearubriik = $parent->all['sys_alias'] == 'home' ? 1 : 0;
    } else {
        $pearubriik = 0;
    }
    $content_templates = get_templates('CONTENT', $objekt->all['ttyyp_id']);
    if ($content_templates['template_variable_html']) {
        $template_variable_html = $content_templates['template_variable_html'];
        unset($content_templates['template_variable_html']);
    }
    $page_templates = get_templates('PAGE', $objekt->all['page_ttyyp_id']);
    $sql = $site->db->prepare('select ttyyp_id, page_ttyyp_id from keel where keel_id = ' . $keel);
    $default_templates = new SQL($sql);
    $default_templates = $default_templates->fetch('ASSOC');
    foreach ($page_templates as $name => $group) {
        if ($group[$default_templates['page_ttyyp_id']]) {
            $default_page_template = array('id' => $default_templates['page_ttyyp_id'], 'group' => $name, 'name' => $group[$default_templates['page_ttyyp_id']]['nimi']);
        }
    }
    foreach ($content_templates as $name => $group) {
        if ($group[$default_templates['ttyyp_id']]) {
            $default_content_template = array('id' => $default_templates['ttyyp_id'], 'group' => $name, 'name' => $group[$default_templates['ttyyp_id']]['nimi']);
        }
    }
    // parent path
    if ($objekt->all['sys_alias'] == '' && $site->fdat['sys_alias'] == '') {
        // this needs serious rethink and optmisation: there's no need to get the entire tree, parent object's path to top is only needed
        include_once $class_path . 'rubloetelu.class.php';
        $rubs = new RubLoetelu(array('keel' => $keel, 'required_perm' => 'C', 'ignore_perm_for_obj' => $parent ? $parent->objekt_id : 0));
        #$rubs->debug->print_msg();
        $topparents = $rubs->get_loetelu();
        if (is_array($topparents)) {
            asort($topparents);
        }
        foreach ($topparents as $k => $v) {
            if ($parent->objekt_id == $k) {
                $section_name = $v;
                break;
            }
        }
    }
    // setup for section selection
    $_SESSION['parent_selection']['callback'] = 'window.opener.updateSection';
    $_SESSION['parent_selection']['selectable'] = 1;
    $_SESSION['parent_selection']['hide_language_selection'] = '1';
    $_SESSION['parent_selection']['mem_classes'] = array('rubriik');
    //this sucks, really
    $_SESSION['parent_selection']['db_fields'] = array('select_checkbox', 'objekt_id', 'pealkiri');
    $_SESSION['parent_selection']['display_fields'] = array('select_checkbox', 'pealkiri');
    $publish_start = $objekt->all['avaldamisaeg_algus'] > 0 ? $site->db->MySQL_ee_long($objekt->all['avaldamisaeg_algus']) : '';
    /* Don't print out time which is 00:00:00 */
    if (preg_match("/(\\d?\\d[\\:\\\\.\\/\\-]\\d?\\d[\\:\\\\.\\/\\-]\\d?\\d?\\d\\d)\\s(\\d?\\d)[\\:\\\\.\\/\\-](\\d?\\d)/", $publish_start, $aa_reg)) {
        $publish_start = $aa_reg[2] == "00" && $aa_reg[3] == "00" ? $aa_reg[1] : $publish_start;
    }
    $publish_end = $objekt->all['avaldamisaeg_lopp'] > 0 ? $site->db->MySQL_ee_long($objekt->all['avaldamisaeg_lopp']) : '';
    /* Don't print out time which is 23:59 */
    if (preg_match("/(\\d?\\d[\\:\\\\.\\/\\-]\\d?\\d[\\:\\\\.\\/\\-]\\d?\\d?\\d\\d)\\s(\\d?\\d)[\\:\\\\.\\/\\-](\\d?\\d)/", $publish_end, $la_reg)) {
        $publish_end = $la_reg[2] == "23" && $la_reg[3] == "59" ? $la_reg[1] : $publish_end;
    }
    // to get the correct path to parent objects set use_alises on
    $site->CONF['use_aliases'] = 1;
    if ($parent) {
        $parent_href = $parent->get_object_href();
    } else {
        $alias = '';
        if ($site->CONF['alias_language_format']) {
            $languages = $site->cash(array('klass' => 'GET_LANGUAGES', 'kood' => 'ALL_LANGUAGE_INFO'));
            if (empty($languages)) {
                $sql = "select keel_id, extension, on_default from keel where on_kasutusel = 1";
                $result = new SQL($sql);
                while ($row = $result->fetch('ASSOC')) {
                    $languages[$row['keel_id']] = $row;
                }
                $site->cash(array('klass' => 'GET_LANGUAGES', 'kood' => 'ALL_LANGUAGE_INFO', 'sisu' => $languages));
            }
        }
        // add languge alias - alias language format 0: none, 1: always, 2: for non-default lang objs
        if ($site->CONF['alias_language_format'] == 1) {
            $alias .= $languages[$objekt->all['keel']]['extension'] . '/';
        } elseif ($site->CONF['alias_language_format'] == 2) {
            if (!$languages[$objekt->all['keel']]['on_default']) {
                $alias .= $languages[$objekt->all['keel']]['extension'] . '/';
            }
        }
        $parent_href = '/' . $alias;
    }
    if ($parent_href && $parent_href != '/' && ($site->CONF['alias_trail_format'] == 0 || $parent->all['sys_alias'] == 'home' || $parent->all['sys_alias'] == 'trash' || $parent->all['sys_alias'] == 'system' || $parent->all['sys_alias'] == 'gallup_arhiiv')) {
        $parent_href = preg_replace('#' . preg_quote('/' . ($parent->all['friendly_url'] ? $parent->all['friendly_url'] : $parent->objekt_id), '#') . '/$#', '/', $parent_href);
    }
    $parent_href = $site->CONF['hostname'] . $parent_href;
    ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head> 	
		<title><?php 
    echo $site->title;
    ?>
 <?php 
    echo $site->cms_version;
    ?>
</title>
		
		<meta http-equiv="Content-Type" content="text/html; charset=<?php 
    echo $encoding ? $encoding : $site->encoding;
    ?>
" />
		<meta http-equiv="Cache-Control" content="no-cache" />
		
		<link rel="stylesheet" href="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
    ?>
/datepicker.css" />
		<link rel="stylesheet" href="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
    ?>
/section_editor.css" />
		
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
    ?>
/yld.js"></script>
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
    ?>
/edit_popup.js"></script>
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
    ?>
/jquery.js"></script>
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
    ?>
/datepicker.js"></script>
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'];
    ?>
/common.js.php"></script>
		
		<script type="text/javascript">
			var isIE = navigator.appVersion.match(/MSIE/); // assume gecko on false
			
			window.onload = function ()
			{
				var title = document.getElementById('pealkiri');
				
				resizeWindow();
				
				var advanced_panel_state = document.getElementById('advanced_panel_state');
				if(advanced_panel_state.value == 1)
				{
					togglePanel('advanced');
				}
				
				this.focus();
				title.focus();
			}
			
			function resizeWindow()
			{
				resizeWindowTo($('#size_wrapper').width(), $('#size_wrapper').height());
			}
			
			
			function chooseSection()
			{
				explorer_window = openpopup('explorer.php?objekt_id=home&editor=1&swk_setup=parent_selection&remove_objects=<?php 
    echo $site->fdat['id'];
    ?>
&pre_selected=' + document.getElementById('rubriik').value, 'cms_explorer', '800','600');
			}
			
			function updateSection(sections)
			{
				explorer_window.close();
				var section_name = document.getElementById('section_name');
				var section_id = document.getElementById('rubriik');
				var trail_path= new Array();

					for(var j = 0; j < sections[0].trail.length; j++){
						trail_path[j] = sections[0].trail[j].pealkiri;
					}

				section_name.innerHTML = '<a href="javascript:chooseSection();">' + trail_path.join("->") + '</a>';
				section_id.value = sections[0].objekt_id;
			}

			function editAlias()
			{
				var alias_placeholder = document.getElementById('alias_placeholder');
				var alias_value = document.getElementById('alias_value');
				
				alias_placeholder.innerHTML = '<input type="text" id="alias" value="' + alias_value.value + '" onblur="saveAlias();">';
				
		    	resizeWindow();
		    	
				var alias = document.getElementById('alias');
				alias.focus();
			}
			
			function saveAlias()
			{
				var alias_placeholder = document.getElementById('alias_placeholder');
				var alias_value = document.getElementById('alias_value');
				var alias = document.getElementById('alias');
				
				if(alias_value.value != alias.value)
				{
					$.ajax({
					    url: 'ajax_response.php?rand=' + Math.random(9999),
					    data: {op: 'generate_alias', string: alias.value, language_id: '<?php 
    echo $keel;
    ?>
'},
					    type: 'POST',
					    dataType: 'json',
					    timeout: 1000,
					    error: function()
					    {
							alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (alias_value.value.length > 30 ? alias_value.value.substring(0, 30) + '...' : alias_value.value) + '</a>';
					    },
					    success: function(response)
					    {
					    	if(response.alias)
					    	{
								alias_value.value = response.alias;
								alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (alias_value.value.length > 30 ? alias_value.value.substring(0, 30) + '...' : alias_value.value) + '</a>';
					    	}
					    	else
					    	{
								alias_value.value = '';
								<?php 
    if ($objekt->objekt_id) {
        ?>
								alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + '<?php 
        echo $objekt->objekt_id;
        ?>
' + '</a>';
								<?php 
    } else {
        ?>
						    	alias_placeholder.innerHTML = '<input type="text" id="alias" value="" onblur="saveAlias();">';
								<?php 
    }
    ?>
					    	}
							
					    	resizeWindow();
					    }
					});
				}
				else
				{
					if(!alias.value)
					{
						alias_value.value = '';
						<?php 
    if ($objekt->objekt_id) {
        ?>
						alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + '<?php 
        echo $objekt->objekt_id;
        ?>
' + '</a>';
						<?php 
    } else {
        ?>
				    	alias_placeholder.innerHTML = '<input type="text" id="alias" value="" onblur="saveAlias();">';
						<?php 
    }
    ?>
					}
					else
					{
						alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (alias_value.value.length > 30 ? alias_value.value.substring(0, 30) + '...' : alias_value.value) + '</a>';
					}
			    	
					resizeWindow();
				}
			}
			
			function createAlias()
			{
				var alias_value = document.getElementById('alias_value');
				var title = document.getElementById('pealkiri')
				
				if(0 || (!alias_value && title.value))
				{
					$.ajax({
					    url: 'ajax_response.php?rand=' + Math.random(9999),
					    data: {op: 'generate_alias', string: title.value, language_id: '<?php 
    echo $keel;
    ?>
'},
					    type: 'POST',
					    dataType: 'json',
					    timeout: 1000,
					    error: function()
					    {
					    },
					    success: function(response)
					    {
					    	var alias_cell = document.getElementById('alias_cell');
					    	alias_cell.className = 'alias';
					    	if(response.alias)
					    	{
						    	alias_cell.innerHTML = '<input type="hidden" name="friendly_url" id="alias_value" value="' + response.alias + '"><?php 
    echo $parent_href;
    ?>
<span id="alias_placeholder"><a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (response.alias.length > 30 ? response.alias.substring(0, 30) + '...' : response.alias) + '</a></span>';
					    	}
					    	else
					    	{
						    	alias_cell.innerHTML = '<input type="hidden" name="friendly_url" id="alias_value" value=""><?php 
    echo $parent_href;
    ?>
<span id="alias_placeholder"><input type="text" id="alias" value="" onblur="saveAlias();"></span>';
					    	}
					    	
					    	var alias_row = document.getElementById('alias_row');
					    	alias_row.style.display = (isIE ? 'block' : 'table-row');

					    	resizeWindow();
					    }
					});			
				}
			}
			
			function saveForm(op2)
			{
				var form = document.getElementById('editForm');
				
				var title = document.getElementById('pealkiri');
				
				if(title.value.length == 0)
				{
					alert('<?php 
    echo $site->sys_sona(array('sona' => 'please_fill_in_the_title!', 'tyyp' => 'admin'));
    ?>
');
					return;
				}
				
				var alias_value = document.getElementById('alias_value');
				var alias = document.getElementById('alias');
				
				if((title.value && !alias_value) || (alias && alias_value && alias.value != alias_value.value))
				{
					$.ajax({
					    url: 'ajax_response.php?rand=' + Math.random(9999),
					    data: {op: 'generate_alias', string: title.value, language_id: '<?php 
    echo $keel;
    ?>
'},
					    type: 'POST',
					    dataType: 'json',
					    timeout: 1000,
					    error: function()
					    {
					    	var form = document.getElementById('editForm');
			 				
					    	form.op2.value = op2;
			 				form.submit();
					    },
					    success: function(response)
					    {
					    	var alias_value = document.getElementById('alias_value');
					    	
					    	if(!alias_value && response.alias)
					    	{
						    	var alias_cell = document.getElementById('alias_cell');
						    	alias_cell.innerHTML = '<input type="hidden" name="friendly_url" id="alias_value" value="' + response.alias + '"><?php 
    echo $parent_href;
    ?>
<span id="alias_placeholder"><a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (response.alias.length > 30 ? response.alias.substring(0, 30) + '...' : response.alias) + '</a></span>';
					    	}
							
					    	var form = document.getElementById('editForm');
			 				
					    	form.op2.value = op2;
			 				form.submit();
					    }
					});
				}
				else
				{
	 				form.op2.value = op2;
	 				form.submit();
				}
			}
		</script>
	</head>
	
	<body>
		
		<? if ($site->fdat['op']=='edit') {?>
			<iframe src="checkin.php?objekt_id=<?php 
    echo $objekt->objekt_id;
    ?>
" style="width: 0; height: 0; display: none; visibility: hidden;"></iframe>
		<? } ?>
		
		<form action="edit.php" name="editForm" id="editForm" method="POST"  enctype="multipart/form-data">
		
		<input type="hidden" name="tab" value="<?php 
    echo $site->fdat['tab'];
    ?>
" />
		<input type="hidden" id="op" name="op" value="<?php 
    echo htmlspecialchars($site->fdat['op']);
    ?>
" />
		<input type="hidden" id="op2" name="op2" value="" />
		<input type="hidden" id="refresh" name="refresh" value="0" />
		
		<input type="hidden" name="tyyp_id" value="<?php 
    echo $tyyp['tyyp_id'];
    ?>
" />
		<input type="hidden" name="tyyp" value="<?php 
    echo $tyyp['klass'];
    ?>
" />
		
		<input type="hidden" name="pearubriik" value="<?php 
    echo $pearubriik;
    ?>
" />
		<input type="hidden" name="id" value="<?php 
    echo $site->fdat['id'];
    ?>
" />
		<input type="hidden" name="parent_id" value="<?php 
    echo $site->fdat['parent_id'];
    ?>
" />
		<input type="hidden" name="previous_id" value="<?php 
    echo $site->fdat['previous_id'];
    ?>
" />
		<input type="hidden" name="keel" value="<?php 
    echo $keel;
    ?>
" />
		<input type="hidden" name="on_pealkiri" value="1" />
		
        <input type="hidden" name="sorting" value="<?php 
    echo $site->fdat['sorting'];
    ?>
">

        <input type="hidden" name="extension_path" value="<?php 
    echo $site->fdat['extension_path'];
    ?>
" />
		
		<input type="hidden" name="opener_location" value="" />
		<input type="hidden" name="publish" value="<?php 
    echo $site->fdat['publish'] ? $site->fdat['publish'] : $objekt->all['on_avaldatud'];
    ?>
" />

		<input name="permanent_parent_id" type="hidden" value="<?php 
    echo $objekt->parent_id;
    ?>
" />
		<input name="sys_alias" type="hidden" value="<?php 
    echo $site->fdat['sys_alias'] ? $site->fdat['sys_alias'] : $objekt->all['sys_alias'];
    ?>
" />
		
		<input name="advanced_panel_state" id="advanced_panel_state" type="hidden" value="<?php 
    echo $site->fdat['advanced_panel_state'] ? htmlspecialchars($site->fdat['advanced_panel_state']) : 0;
    ?>
" />
		
		<div id="size_wrapper" class="section_editor">
		
		<div id="main_container">
			<?php 
    ########### Tabs  ########
    ?>
			<div id="tab_container">
				<a href="javascript:void(0);" class="selected"><?php 
    echo $site->sys_sona(array('sona' => 'tyyp_rubriik', 'tyyp' => 'System'));
    ?>
</a>
				<?php 
    if ($objekt->objekt_id) {
        ?>
					<a href="<?php 
        echo $site->self . '?tab=seo&id=' . $site->fdat['id'] . '&keel=' . $keel . '&op=' . $site->fdat['op'];
        ?>
" onclick="resizeDocumentHeightTo(430);"><?php 
        echo $site->sys_sona(array('sona' => 'meta-info', 'tyyp' => 'admin'));
        ?>
</a>
					<?php 
    } else {
        ?>
					<a href="javascript:void(0);"><?php 
        echo $site->sys_sona(array('sona' => 'meta-info', 'tyyp' => 'admin'));
        ?>
</a>
				<?php 
    }
    ?>
				<?php 
    if ($objekt->objekt_id) {
        ?>
					<a href="<?php 
        echo $site->self . '?tab=permissions&id=' . $site->fdat['id'] . '&keel=' . $keel . '&op=' . $site->fdat['op'];
        ?>
" onclick="resizeDocumentHeightTo(430);"><?php 
        echo $site->sys_sona(array('sona' => 'permissions', 'tyyp' => 'admin'));
        ?>
</a>
					<?php 
    } else {
        ?>
					<a href="javascript:void(0);"><?php 
        echo $site->sys_sona(array('sona' => 'permissions', 'tyyp' => 'admin'));
        ?>
</a>
				<?php 
    }
    ?>
			</div>
			
			<div id="content_container">
		
				<table cellpadding="0" cellspacing="0" class="form_row">
					<tr>
						<td class="label"><label><?php 
    echo $site->sys_sona(array('sona' => 'Pealkiri', 'tyyp' => 'editor'));
    ?>
:</label></td>
						<td class="input"><input type="text" class="text" name="pealkiri" id="pealkiri" value="<?php 
    echo htmlspecialchars($objekt->all['pealkiri']);
    ?>
" onblur="createAlias();" /></td>
					</tr>
					<?php 
    if (($objekt->objekt_id || isset($objekt->all['friendly_url'])) && !($objekt->all['sys_alias'] == 'trash' || $objekt->all['sys_alias'] == 'system' || $objekt->all['sys_alias'] == 'gallup_arhiiv')) {
        ?>
					<tr>
						<td class="label">&nbsp;</td>
						<td class="input"><input type="hidden" id="alias_value" name="friendly_url" name="friendly_url" value="<?php 
        echo htmlspecialchars($objekt->all['friendly_url']);
        ?>
" /><?php 
        echo $parent_href;
        ?>
<span id="alias_placeholder"><a href="javascript:void(0);" onclick="editAlias();" id="alias_link"><?php 
        echo $objekt->all['friendly_url'] ? strlen(htmlspecialchars($objekt->all['friendly_url'])) > 30 ? substr(htmlspecialchars($objekt->all['friendly_url']), 0, 30) . '...' : htmlspecialchars($objekt->all['friendly_url']) : $objekt->objekt_id;
        ?>
</a></span></td>
					</tr>
					<?php 
    } else {
        ?>
					<tr id="alias_row">
						<td class="label">&nbsp;</td>
						<td class="input" id="alias_cell"></td>
					</tr>
					<?php 
    }
    ?>
					<tr>
						<td class="label"><label><?php 
    echo $site->sys_sona(array('sona' => 'content template', 'tyyp' => 'editor'));
    ?>
:</label></td>
						<td class="input"><select class="select" id="template_select" name="ttyyp_id" onchange="refreshForm();"><option value="0"><?php 
    echo $site->sys_sona(array('sona' => 'default', 'tyyp' => 'admin'));
    ?>
 (<?php 
    echo $default_content_template['name'];
    ?>
)</option>
						<?php 
    foreach ($content_templates as $template_group_name => $templates_group) {
        ?>
							<optgroup label="<?php 
        echo $template_group_name;
        ?>
">
						<?php 
        foreach ($templates_group as $template_id => $template) {
            ?>
						<?php 
            if ($objekt->all['ttyyp_id'] == $template_id) {
                $ttyyp = $template;
            }
            ?>
								<option value="<?php 
            echo $template_id;
            ?>
"<?php 
            echo $objekt->all['ttyyp_id'] == $template_id ? ' selected="selected" style="color: #a7a6aa;"' : '';
            ?>
><?php 
            echo $template['nimi'];
            ?>
</option>
						<?php 
        }
        ?>
							</optgroup>
						<?php 
    }
    ?>
						</select></td>
					</tr>
					<?php 
    ########### publishing  ########
    ?>
					<tr>
						<td class="label"><?php 
    echo $site->sys_sona(array('sona' => 'visible_to_visitors', 'tyyp' => 'editor'));
    ?>
</td>
						<td><input type="radio" name="publish" id="object_published" value="1"<?php 
    echo $site->fdat['publish'] || $objekt->all['on_avaldatud'] ? ' checked' : '';
    ?>
> <label for="object_published"><?php 
    echo $site->sys_sona(array('sona' => 'published', 'tyyp' => 'editor'));
    ?>
</label>	<input type="radio" name="publish" id="object_unpublished" value="0"<?php 
    echo $site->fdat['publish'] == 0 && $objekt->all['on_avaldatud'] == 0 ? ' checked' : '';
    ?>
> <label for="object_unpublished"><?php 
    echo $site->sys_sona(array('sona' => 'unpublished', 'tyyp' => 'editor'));
    ?>
</label></td>
					</tr>
				</table>
				
				<br />
				
				<?php 
    ########### advanced  ########
    ?>
				<div class="panel_toggler" onclick="togglePanel('advanced');">
					<a href="javascript:void(0);"><?php 
    echo $site->sys_sona(array('sona' => 'Advanced', 'tyyp' => 'editor'));
    ?>
 <span id="advanced_panel_link_state">&raquo;</span></a>
				</div>
				
				<div id="advanced_panel" class="panel">
					
					<?php 
    ########### parent section  ########
    ?>
					<?php 
    if ($section_name) {
        ?>
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label"><label><?php 
        echo $site->sys_sona(array('sona' => 'Rubriigid', 'tyyp' => 'editor'));
        ?>
:</label></td>
							<td class="input">
								<table cellpadding="0" cellspacing="0" class="cf_container">
									<tr>
										<th><input type="hidden" name="rubriik[]" id="rubriik" value="<?php 
        echo $parent ? $parent->objekt_id : 0;
        ?>
"><span id="section_name"><a href="javascript:chooseSection();"><?php 
        echo $section_name;
        ?>
</a></span></th>
										<td><a href="javascript:chooseSection();">..</a></td>
									</tr>
								</table>
							</td>
						</tr>
					</table>
					<?php 
    }
    ?>
					
					<?php 
    ########### page template  ########
    ?>
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label"><label><?php 
    echo $site->sys_sona(array('sona' => 'page template', 'tyyp' => 'editor'));
    ?>
:</label></td>
							<td class="input"><select class="select" name="page_ttyyp_id"><option value="0"><?php 
    echo $site->sys_sona(array('sona' => 'default', 'tyyp' => 'admin'));
    ?>
 (<?php 
    echo $default_page_template['name'];
    ?>
)</option>
							<?php 
    foreach ($page_templates as $template_group_name => $templates_group) {
        ?>
								<optgroup label="<?php 
        echo $template_group_name;
        ?>
">
							<?php 
        foreach ($templates_group as $template_id => $template) {
            ?>
									<option value="<?php 
            echo $template_id;
            ?>
"<?php 
            echo $objekt->all['page_ttyyp_id'] == $template_id ? ' selected="selected" style="color: #a7a6aa;"' : '';
            ?>
><?php 
            echo $template['nimi'];
            ?>
</option>
							<?php 
        }
        ?>
								</optgroup>
							<?php 
    }
    ?>
							</select></td>
						</tr>
					</table>
					
					<?php 
    ########### hiding in menu and mailinglist  ########
    ?>
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label">&nbsp;</td>
							<td><input type="checkbox" class="checkbox" id="hide_in" name="is_hided_in_menu" value="1"<?php 
    echo $objekt->all['is_hided_in_menu'] ? ' checked="checked"' : '';
    ?>
 /></td>
							<td width="145"><label for="hide_in"><?php 
    echo $site->sys_sona(array('sona' => 'Hide in menu', 'tyyp' => 'editor'));
    ?>
</label></td>
							<td><input type="checkbox" class="checkbox" id="add_mailinglist" name="on_meilinglist" value="1"<?php 
    echo $objekt->all['on_meilinglist'] ? ' checked="checked"' : '';
    ?>
 /></td>
							<td><label for="add_mailinglist"><?php 
    echo $site->sys_sona(array('sona' => 'On meilinglist', 'tyyp' => 'editor'));
    ?>
</label></td>
						</tr>
					</table>
					
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label">&nbsp;</td>
							<td><label><?php 
    echo $site->sys_sona(array('sona' => 'Avaldatud', 'tyyp' => 'editor'));
    ?>
:</label></td>
							<td><input type="text" id="publish_start" name="avaldamise_algus" maxlength="16" class="text_date" value="<?php 
    echo $publish_start;
    ?>
" /></td>
							<td><a href="javascript:init_datepicker('publish_start', 'publish_start', 'publish_end');"><img src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
    ?>
/gfx/calendar/cal.gif" width="16" height="15" title="Choose from calendar" alt="Choose from calendar" /></a></td>
							<td><label><?php 
    echo $site->sys_sona(array('sona' => 'Kuni', 'tyyp' => 'editor'));
    ?>
:</label></td>
							<td><input type="text" id="publish_end" name="avaldamise_lopp" maxlength="16" class="text_date" value="<?php 
    echo $publish_end;
    ?>
" /></td>
							<td><a href="javascript:init_datepicker('publish_end', 'publish_start', 'publish_end');"><img src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
    ?>
/gfx/calendar/cal.gif" width="16" height="15" title="Choose from calendar" alt="Choose from calendar" /></a></td>
						</tr>
					</table>
					
					<?########### ONLY FOR SAURUS 3 BUILT-IN TEMPLATES: subarticles +  Add print icon  ########?>
					<?if(($objekt || $site->fdat['refresh']) && $ttyyp['ttyyp_id'] > 0 && $ttyyp['ttyyp_id'] < 1000) { # if ver3 content template?>
					<table cellpadding="0" cellspacing="0" class="form_row">
			              <tr> 
							<td class="label">&nbsp;</td>
			
							<?########### subarticles  ########?>
			                <td><input type="checkbox" id="on_alamartiklid" name="on_alamartiklid"<?php 
    echo $objekt->all['on_alamartiklid'] ? ' checked="checked"' : '';
    ?>
 /></td>
			                <td width="145"><label for="on_alamartiklid"><?php 
    echo $site->sys_sona(array('sona' => 'Naita alamartiklid', 'tyyp' => 'editor'));
    ?>
</label></td>
			
							<?########### Add print icon  ########?>
			                <td><input type="checkbox" id="on_printlink" name="on_printlink"  value="1" <?php 
    echo $objekt->all['on_printlink'] ? ' checked="checked"' : '';
    ?>
 /></td>
			                <td><label for="on_printlink"><?php 
    echo $site->sys_sona(array('sona' => 'Naita prindi ikoon', 'tyyp' => 'editor'));
    ?>
</label></td>
			
						  </tr>
					</table>
					<?} # if ver3 content template?>
					<?php 
    if ($template_variable_html) {
        ?>
					<table cellpadding="0" cellspacing="0" class="form_row">
						<?php 
        echo $template_variable_html;
        ?>
					</table>
					<?php 
    }
    ?>
					
					<?php 
    ########### position  ########
    ?>
					<?php 
    if ($site->CONF['allow_change_position']) {
        ?>
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label"><label><?php 
        echo $site->sys_sona(array('sona' => 'Position', 'tyyp' => 'editor'));
        ?>
:</label></td>
							<td><input type="text" maxlength="5" class="text_position" name="kesk" value="<?php 
        echo $site->fdat['op'] == 'edit' ? $objekt->all['kesk'] : $site->fdat['kesk'];
        ?>
" /></td>
						</tr>
					</table>
					<?php 
    } else {
        ?>
						<input type="hidden" name="kesk" value="<?php 
        echo $site->fdat['op'] == 'edit' ? $objekt->all['kesk'] : $site->fdat['kesk'];
        ?>
" />
					<?php 
    }
    ?>
					
				</div>
			</div>
			
		</div>
		
		<div id="button_container">
			
			<table width="100%" cellspacing="0" cellpadding="0">
				<tbody>
					<tr>
						<td align="left">
							<input type="button" class="button" value="<?php 
    echo $site->sys_sona(array('sona' => 'Apply', 'tyyp' => 'editor'));
    ?>
" onclick="saveForm('save');" />
						</td>
						<td align="right">
							<input type="button" class="button" value="&nbsp;&nbsp;&nbsp;&nbsp;<?php 
    echo $site->sys_sona(array('sona' => 'save_and_close', 'tyyp' => 'editor'));
    ?>
&nbsp;&nbsp;&nbsp;&nbsp;" onclick="saveForm('saveclose');" />
							<input type="button" class="button" value="<?php 
    echo $site->sys_sona(array('sona' => 'Close', 'tyyp' => 'editor'));
    ?>
" onclick="window.close();" />		
						</td>
					</tr>
				</tr>
				</tbody>
			</table>
			
			
			
			
		</div>
		
		</div> <!-- / size_wrapper -->
		
		</form>
	</body>
</html>

<?php 
}
/**
* Copy one permission row to the subtree
* 
* 
* @package CMS
* 
* @param string type - permission type (OBJ/ACL)
* @param integer source_id - source ID (obejct ID or group ID)
* @param string crud - CRUPD mask to be copied eg "01000"
* @param integer user_id - User ID
* @param integer group_id - Group ID
* @param integer role_id - Role ID
*
* Call:
*		copy_permissions(array(
*			"type" => 'OBJ',
*			"source_id" => $site->fdat['id'],
*			"crud" => $site->fdat['crud']
*			"user_id" => $site->fdat['perm_user_id'],
*			"group_id" => $site->fdat['perm_group_id'],
*			"role_id" => $site->fdat['perm_role_id'],
*		));
*/
function copy_permissions ($args) {
	global $site, $class_path;

	$source_id = $args['source_id'];
	$crud = $args['crud'];
	$user_id = $args['user_id'];
	$group_id = $args['group_id'];
	$role_id = $args['role_id'];

	## how many objects/groups were actually updated 
	$updated_count = 0;

	# make string "01000" to array
	$crud_arr['C'] = substr($crud,0,1);
	$crud_arr['R'] = substr($crud,1,1);
	$crud_arr['U'] = substr($crud,2,1);
	$crud_arr['P'] = substr($crud,3,1);
	$crud_arr['D'] = substr($crud,4,1);
	?>
	<tr>
	<td valign="top" class="scms_confirm_alert_cell" height="100%">
	<?
	#echo "ID:". $source_id.' / CRUD: '.$crud;

	if($args['type']) {

		############ 1) GET SUBTREE HERE (query 1 time)

		# get object subtree: children sections (ignore objects languages, to get folders also. there is no risk because we get always one certain branch)
		if($args['type']=='OBJ'){

			include_once($class_path."rubloetelu.class.php"); # used in subtree proc
			$rubs = new RubLoetelu(array(
				"keel" => $keel,
				"required_perm" => "U",
				"object_type_ids" => "1,22", # get sections, folders (Bug #1996)
				"ignore_lang" => 1 # ignore objects languages
			));
			#printr($rubs->get_loetelu());
			#$rubs->debug->print_msg();
			
			# get branch: is array of all section children with update permission:
			$branch = $rubs->get_branch_byID(array(id => $site->fdat['id']));
			#printr($branch);
		}
		# get group subtree: children subgroups
		elseif($args['type']=='ACL'){

	  		$sql = "SELECT group_id AS id, parent_group_id AS parent, name FROM groups ORDER BY name";
			$sth = new SQL($sql);
			while ($data = $sth->fetch()){
				$temp_tree[] = $data;		
			}
			############# generate tree 
			require_once($class_path.'menu.class.php');
			$menu = new Menu(array(
				width=> "100%",
				tree => $temp_tree,
				datatype => "group"
			));
			$menu->get_full_subtree(array("parent_id" => $site->fdat['id']));
			# $menu->full_subtree is variable from group tree and is all ID-s of group children
			#echo printr($menu->full_subtree);
			foreach($menu->full_subtree as $subgroup_id) {
				$branch[$subgroup_id] = ""; # name is not important
			};

		}

		###################
		# 2. INSERT PERMISSIONS

		# loop over subtree
		# branch is array of all children
		foreach($branch as $child_id=>$child_name) {
			# omit source object itself
			if($child_id == $source_id) {
				continue;
			}
			########### CREATE CHILD (to get permissions and title)

			if($args['type'] == 'OBJ') {
				## create child object
				$child = new Objekt(array(
					objekt_id => $child_id
				));
				$child->title = $child->all['pealkiri'];
			}
			elseif($args['type'] == 'ACL') {
				## create child group
				$child = new Group(array(
					group_id => $child_id,
				));
				$child->permission = get_user_permission(array(
					type => 'ACL',
					group_id => $child_id
				 ));
				$child->title = $child->name;
			}
			#printr($child->permission);

			########### CHECK UPDATE PERMISSION - does user has U permission for this object? (Bug #2203)
			if(!$child->permission['U']) {
				continue; # user doesn't have U permission => don't change child
			}

			# insert permission also to child:
			#print "<br>insert permission also to child: ". $child_id. " => ".$child_name;
			##### 1) DELETE OLD permission
			$sql = $site->db->prepare("DELETE FROM permissions WHERE type=? AND source_id=? AND ",$args['type'], $child_id);
			if($role_id){
				$sql .= $site->db->prepare(" role_id=? ", $role_id);
			} elseif($group_id){
				$sql .= $site->db->prepare(" group_id=? ", $group_id);
			} elseif($user_id){
				$sql .= $site->db->prepare(" user_id=? ", $user_id);
			}
			$sth = new SQL($sql);
			$site->debug->msg($sth->debug->get_msgs());	
			#print "<br>".$sql;

			##### 2) INSERT permission
			$sql = $site->db->prepare("INSERT INTO permissions (type,source_id,role_id,group_id,user_id,C,R,U,P,D) VALUES (?,?,?,?,?,?,?,?,?,?)", 	
				$args['type'], 
				$child_id, 
				($role_id?$role_id:0),
				($group_id?$group_id:0),
				($user_id?$user_id:0),
				$crud_arr['C'],
				$crud_arr['R'],
				$crud_arr['U'],
				$crud_arr['P'],
				$crud_arr['D']
			);
			$sth = new SQL($sql);
			$site->debug->msg($sth->debug->get_msgs());	
			#print "<br>".$sql;
			if($sth->rows) {
				$updated_count++;
			}

			############
			# 3. WRITE LOG

			# type= OBJ
			if($args['type'] == 'OBJ') {
				new Log(array(
					'action' => 'update',
					'component' => 'ACL',
					'objekt_id' => $child_id,
					'message' => "Object '".$child->title."' (ID=".$child_id.") permissions updated inside subtree",
				));
			}
			# type= ACL
			elseif($args['type'] == 'ACL') {
				new Log(array(
					'action' => 'update',
					'component' => 'ACL',
					'objekt_id' => $child_id,
					'message' => "Object '".$child->title."' (ID=".$child_id.") permissions updated inside subtree",
				));
			}
			# / write log
			############
		}
		# / loop over subtree
		###################

	} # if permission type provided
	################## 

	######### MESSAGE
	echo $site->sys_sona(array(sona => "Permissions copied to subtree", tyyp=>"editor"));
	echo ': '.$updated_count.'';
	?>
    </td>
  </tr>
	<?#################### BUTTONS ###########?>
	  <tr> 
	  <td align="right" valign="top" class="scms_dialog_area_bottom"> 
	   <input type="button" value="<?=$site->sys_sona(array(sona => "Close", tyyp=>"editor")) ?>" onclick="javascript:window.close();">
    </td>
  </tr>
<?
}
function smarty_function_init_mailinglist($params, &$smarty)
{
    global $site, $leht, $class_path;
    ##############
    # default values
    extract($params);
    if (!isset($name)) {
        $name = "mailinglist";
    }
    if (!isset($name_separator)) {
        $name_separator = " &gt; ";
    }
    ##################
    # get user mailinglists
    $subscribed_mailinglist = array();
    if ($site->user) {
        $subscribed_mailinglist = $site->user->get_mailinglist();
    }
    ##################
    # get ALL available mailinglist sections
    $sql = $site->db->prepare("SELECT objekt.objekt_id FROM obj_rubriik,objekt WHERE obj_rubriik.objekt_id=objekt.objekt_id AND objekt.on_avaldatud='1' AND obj_rubriik.on_meilinglist = '1' AND objekt.keel=?", $site->keel);
    $sth = new SQL($sql);
    # put all section IDs into array
    while ($obj = $sth->fetch()) {
        $all_mailinglist[] = $obj[objekt_id];
    }
    # if sections found
    if (sizeof($all_mailinglist) > 0) {
        ##################
        # get all sections (privilege check is already done in rubloetelu class)
        #$timer = new Timer();
        include_once $class_path . "rubloetelu.class.php";
        $rubs = new RubLoetelu(array(keel => $site->keel, exclude_id => $site->alias("rub_home_id")));
        $topparents = $rubs->get_loetelu();
        asort($topparents);
        #print "TIME:".$timer->get_aeg();
        #$rubs->debug->print_msg();
        ##################
        # loop over all sections
        foreach ($topparents as $obj_id => $obj_name) {
            # if section is not HOME AND is included in mailinglist then print row
            if ($obj_id != $site->alias("rub_home_id") && in_array($obj_id, $all_mailinglist)) {
                $obj_name = str_replace("->", $name_separator, $obj_name);
                $obj = new stdClass();
                $obj->id = $obj_id;
                $obj->title = $obj_name;
                # set user subsciption info
                if (in_array($obj_id, $subscribed_mailinglist)) {
                    $obj->user_subscribed = 1;
                } else {
                    $obj->user_subscribed = 0;
                }
                $mailinglists[] = $obj;
            }
        }
        # foreach
    }
    # kui leidub meililiste
    $count = sizeof($all_mailinglist);
    ##############
    # assign to template variables
    $smarty->assign(array($name => $mailinglists, $name . '_count' => $count));
}
/**
 * This source file is is part of Saurus CMS content management software.
 * It is licensed under MPL 1.1 (http://www.opensource.org/licenses/mozilla1.1.php).
 * Copyright (C) 2000-2010 Saurused Ltd (http://www.saurus.info/).
 * Redistribution of this file must retain the above copyright notice.
 * 
 * Please note that the original authors never thought this would turn out
 * such a great piece of software when the work started using Perl in year 2000.
 * Due to organic growth, you may find parts of the software being
 * a bit (well maybe more than a bit) old fashioned and here's where you can help.
 * Good luck and keep your open source minds open!
 * 
 * @package		SaurusCMS
 * @copyright	2000-2010 Saurused Ltd (http://www.saurus.info/)
 * @license		Mozilla Public License 1.1 (http://www.opensource.org/licenses/mozilla1.1.php)
 * 
 */
function edit_objekt()
{
    global $site;
    global $objekt;
    global $keel;
    global $class_path;
    global $tyyp;
    // refreshing (fdat['refresh'] = 1) looses object data, I don't know why and because it's done in edit_object.php, I'm not going to fix it, lord knows what it'll screw up
    if ($site->fdat['refresh'] && $site->fdat['id']) {
        $obj = new Objekt(array('objekt_id' => $site->fdat['id']));
        $objekt->objekt_id = $obj->objekt_id;
        $objekt->parent_id = $obj->parent_id;
    }
    $parent = new Objekt(array('objekt_id' => $objekt->objekt_id ? $objekt->parent_id : $site->fdat['parent_id']));
    $pearubriik = $parent->all['sys_alias'] == 'home' ? 1 : 0;
    // parent path
    if ($objekt->all['sys_alias'] == '' && $site->fdat['sys_alias'] == '') {
        // this needs serious rethink and optmisation: there's no need to get the entire tree, parent object's path to top is only needed
        include_once $class_path . 'rubloetelu.class.php';
        $rubs = new RubLoetelu(array('keel' => $keel, 'required_perm' => 'C', 'ignore_perm_for_obj' => $parent->objekt_id));
        #$rubs->debug->print_msg();
        $topparents = $rubs->get_loetelu();
        if (is_array($topparents)) {
            asort($topparents);
        }
        foreach ($topparents as $k => $v) {
            if ($parent->objekt_id == $k) {
                $section_name = $v;
                break;
            }
        }
    }
    // publishing
    $publish_start = $objekt->all['avaldamisaeg_algus'] > 0 ? $site->db->MySQL_ee_long($objekt->all['avaldamisaeg_algus']) : '';
    /* Don't print out time which is 00:00:00 */
    if (preg_match("/(\\d?\\d[\\:\\\\.\\/\\-]\\d?\\d[\\:\\\\.\\/\\-]\\d?\\d?\\d\\d)\\s(\\d?\\d)[\\:\\\\.\\/\\-](\\d?\\d)/", $publish_start, $aa_reg)) {
        $publish_start = $aa_reg[2] == "00" && $aa_reg[3] == "00" ? $aa_reg[1] : $publish_start;
    }
    $publish_end = $objekt->all['avaldamisaeg_lopp'] > 0 ? $site->db->MySQL_ee_long($objekt->all['avaldamisaeg_lopp']) : '';
    /* Don't print out time which is 23:59 */
    if (preg_match("/(\\d?\\d[\\:\\\\.\\/\\-]\\d?\\d[\\:\\\\.\\/\\-]\\d?\\d?\\d\\d)\\s(\\d?\\d)[\\:\\\\.\\/\\-](\\d?\\d)/", $publish_end, $la_reg)) {
        $publish_end = $la_reg[2] == "23" && $la_reg[3] == "59" ? $la_reg[1] : $publish_end;
    }
    // to get the correct path to parent objects set use_alises on
    $site->CONF['use_aliases'] = 1;
    $parent_href = $parent->get_object_href();
    if ($site->CONF['alias_trail_format'] == 0 || $parent->all['sys_alias'] == 'home' || $parent->all['sys_alias'] == 'trash' || $parent->all['sys_alias'] == 'system' || $parent->all['sys_alias'] == 'gallup_arhiiv') {
        $parent_href = preg_replace('#' . preg_quote('/' . ($parent->all['friendly_url'] ? $parent->all['friendly_url'] : $parent->objekt_id), '#') . '/$#', '/', $parent_href);
    }
    $parent_href = $site->CONF['hostname'] . $parent_href;
    // setup for section selection
    $_SESSION['parent_selection']['callback'] = 'window.opener.updateSection';
    $_SESSION['parent_selection']['selectable'] = 1;
    $_SESSION['parent_selection']['hide_language_selection'] = '1';
    $_SESSION['parent_selection']['mem_classes'] = array('rubriik');
    //this sucks, really
    $_SESSION['parent_selection']['db_fields'] = array('select_checkbox', 'objekt_id', 'pealkiri');
    $_SESSION['parent_selection']['display_fields'] = array('select_checkbox', 'pealkiri');
    // setup folder select
    $_SESSION['scms_filemanager_settings']['scms_select_album_folder'] = array('select_mode' => 2, 'action_text' => $site->sys_sona(array('sona' => 'use_this_folder_for_album', 'tyyp' => 'editor')), 'action_trigger' => $site->sys_sona(array('sona' => 'use_this_folder_for_album', 'tyyp' => 'editor')), 'callback' => 'window.opener.setFolder');
    $conf = new CONFIG($objekt->all['ttyyp_params']);
    $args['cols'] = $conf->get('cols');
    $args['rows'] = $conf->get('rows');
    $args['path'] = $conf->get('path');
    //$args['path'] = 1;
    $args['tn_size'] = $conf->get('tn_size');
    $args['desc'] = $conf->get('desc');
    $args['pic_size'] = $conf->get('pic_size');
    $args['folder_id'] = $conf->get('folder_id');
    if (!$args['path']) {
        if ($objekt->all['pealkiri']) {
            $album_folder_path = $clean_path = create_alias_from_string($objekt->all['pealkiri']);
        } else {
            $result = new SQL('select max(objekt_id) + 1 from objekt');
            $album_folder_path = $clean_path = $result->fetchsingle();
        }
        $supplement = 2;
        // unlikely to happen
        if ($album_folder_path === '') {
            $album_folder_path = $clean_path = rand(10000, 20000);
        }
        while (file_exists($site->absolute_path . '/public/galleries/' . $album_folder_path)) {
            $album_folder_path = create_alias_from_string($clean_path . '-' . $supplement);
            $supplement++;
            // guard, also unlikely
            if ($supplement > 1000) {
                exit;
            }
        }
        $album_folder_path = 'public/galleries/' . $album_folder_path;
    }
    //printr($album_folder_path);
    ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
	<head> 	
		<title><?php 
    echo $site->title;
    ?>
 <?php 
    echo $site->cms_version;
    ?>
</title>
		
		<meta http-equiv="Content-Type" content="text/html; charset=<?php 
    echo $encoding ? $encoding : $site->encoding;
    ?>
" />
		<meta http-equiv="Cache-Control" content="no-cache" />
		
		<link rel="stylesheet" href="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
    ?>
/datepicker.css" />
		<link rel="stylesheet" href="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
    ?>
/album_editor.css" />
		<!--[if IE 6]>
			<style type="text/css">
				input.inline_button {
					padding: 0px 0px 0px 0px;
					height: 21px;
				}
			</style>
		<![endif]-->
		<!--[if IE 7]>
			<style type="text/css">
				input.inline_button {
					padding: 0px 0px 0px 0px;
					height: 21px;
				}
			</style>
		<![endif]-->
		
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
    ?>
/yld.js"></script>
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
    ?>
/edit_popup.js"></script>
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
    ?>
/jquery.js"></script>
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
    ?>
/datepicker.js"></script>
		<script type="text/javascript" src="<?php 
    echo $site->CONF['wwwroot'];
    ?>
/common.js.php"></script>
		<?php 
    if ($site->CONF['fm_allow_multiple_upload'] && $parent->all['ttyyp_id'] != 39) {
        ?>
		<script type="text/javascript" src="<?php 
        echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
        ?>
/swfupload/swfupload.js"></script>
		<script type="text/javascript" src="<?php 
        echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
        ?>
/swfupload/swfupload.queue.js"></script>
		<?php 
    }
    ?>
		
		<script type="text/javascript">
			var isIE = navigator.appVersion.match(/MSIE/); // assume gecko on false
			
			var folder_path = '<?php 
    echo $album_folder_path;
    ?>
';
			
			var ajax_token = <?php 
    echo create_form_token_json('edit-album-ajax');
    ?>
;
			
			var swfu;
			
			window.onload = function ()
			{
				var title = document.getElementById('pealkiri');
				
				var advanced_panel_state = document.getElementById('advanced_panel_state');
				if(advanced_panel_state.value == 1)
				{
					togglePanel('advanced');
				}
				
				this.focus();
				title.focus();
				
				resizeWindow();
				
				<?php 
    if ($site->CONF['fm_allow_multiple_upload'] && $parent->all['ttyyp_id'] != 39) {
        ?>
				
				var post_params = {'<?php 
        echo session_name();
        ?>
' : '<?php 
        echo session_id();
        ?>
', 'op': 'add_image_to_album'};
				$.extend(post_params, ajax_token);
				
				swfu = new SWFUpload({
					flash_url : '<?php 
        echo $site->CONF['wwwroot'] . $site->CONF['js_path'];
        ?>
/swfupload/swfupload.swf',
					upload_url: '<?php 
        echo $site->CONF['wwwroot'];
        ?>
/admin/ajax_response.php',
					post_params: post_params,
					file_size_limit : '<?php 
        echo is_int(ini_get('upload_max_filesize')) ? round(ini_get('upload_max_filesize') / 1024) : ini_get('upload_max_filesize') . 'B';
        ?>
',
					file_types : '*.gif;*.png;*.jpeg;*.jpg',
					file_types_description : 'Images',
					file_upload_limit : 0,
					file_queue_limit : 100,
					custom_settings : {
						cancelButtonId : 'cancel_file_upload_button'
					},
					debug: false,
			
					// Button settings
					button_image_url: '<?php 
        echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
        ?>
/gfx/general/album_upload_button_bg.gif',	// Relative to the Flash file
					button_width: '95',
					button_height: '21',
					button_placeholder_id: 'span_upload_button_place_holder',
					button_text: '<?php 
        echo $site->sys_sona(array('sona' => 'add_images', 'tyyp' => 'editor'));
        ?>
',
					button_text_left_padding: 8,
					button_text_top_padding: 1,
					button_window_mode : SWFUpload.WINDOW_MODE.TRANSPARENT,
					
					// The event handler functions
					swfupload_loaded_handler: swfuLoaded,
					file_queued_handler : fileQueued,
					file_queue_error_handler : fileQueueError,
					file_dialog_complete_handler : fileDialogComplete,
					upload_start_handler : uploadStart,
					upload_progress_handler : uploadProgress,
					upload_error_handler : uploadError,
					upload_success_handler : uploadSuccess,
					upload_complete_handler : uploadComplete
					//queue_complete_handler : queueComplete	// Queue plugin event
				});
				<?php 
    }
    ?>
				}
			
			function resizeWindow()
			{
        if(jQuery.browser.webkit)
        {
          window.resizeTo(580, 380);
        }
        else
        {
          resizeWindowTo($('#size_wrapper').width(), $('#size_wrapper').height());
        }
			}
			
			var filemanager_window;
			var uploadFolderPathSet = false;

			function chooseFolder()
			{
				filemanager_window = openpopup('filemanager.php?setup=scms_select_album_folder', 'filemanager', 980, 600);
			}
			
			function setFolder(data)
			{
				filemanager_window.close();
				uploadFolderPathSet = true;
				
				$('input#path').attr('value', data.folders[0].relative_path.replace(/^\//, ''));
				$('a#images_folder_path_link').text(data.folders[0].relative_path.replace(/^\//, ''));
				
				$('td#images_folder_cf_container_cell').removeClass('hidden');
				$('td#images_choose_folder_button_cell').addClass('hidden');
			}
			
			
			function clearFolder()
			{
				$('input#path').attr('value', '');
				
				$('td#images_folder_cf_container_cell').addClass('hidden');
				$('td#images_choose_folder_button_cell').removeClass('hidden');
				
				resizeWindow();
			}
			
			function chooseSection()
			{
				explorer_window = openpopup('explorer.php?objekt_id=home&editor=1&swk_setup=parent_selection&remove_objects=<?php 
    echo $site->fdat['id'];
    ?>
&pre_selected=' + document.getElementById('rubriik').value, 'cms_explorer', '800','600');
			}
			
			function updateSection(sections)
			{
				explorer_window.close();
				var section_name = document.getElementById('section_name');
				var section_id = document.getElementById('rubriik');
				var trail_path= new Array();

					for(var j = 0; j < sections[0].trail.length; j++){
						trail_path[j] = sections[0].trail[j].pealkiri;
					}

				section_name.innerHTML = '<a href="javascript:chooseSection();">' + trail_path.join("->") + '</a>';
				section_id.value = sections[0].objekt_id;
			}

			function editAlias()
			{
				var alias_placeholder = document.getElementById('alias_placeholder');
				var alias_value = document.getElementById('alias_value');
				
				alias_placeholder.innerHTML = '<input type="text" id="alias" value="' + alias_value.value + '" onblur="saveAlias();">';
				
		    	resizeWindow();
		    	
				var alias = document.getElementById('alias');
				alias.focus();
			}
			
			function saveAlias()
			{
				var alias_placeholder = document.getElementById('alias_placeholder');
				var alias_value = document.getElementById('alias_value');
				var alias = document.getElementById('alias');
				
				if(alias_value.value != alias.value)
				{
					$.ajax({
					    url: 'ajax_response.php?rand=' + Math.random(9999),
					    data: {op: 'generate_alias', string: alias.value, language_id: '<?php 
    echo $keel;
    ?>
'},
					    type: 'POST',
					    dataType: 'json',
					    timeout: 1000,
					    error: function()
					    {
							alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (alias_value.value.length > 30 ? alias_value.value.substring(0, 30) + '...' : alias_value.value) + '</a>';
					    },
					    success: function(response)
					    {
					    	if(response.alias)
					    	{
								alias_value.value = response.alias;
								alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (alias_value.value.length > 30 ? alias_value.value.substring(0, 30) + '...' : alias_value.value) + '</a>';
					    	}
					    	else
					    	{
								alias_value.value = '';
								<?php 
    if ($objekt->objekt_id) {
        ?>
								alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + '<?php 
        echo $objekt->objekt_id;
        ?>
' + '</a>';
								<?php 
    } else {
        ?>
						    	alias_placeholder.innerHTML = '<input type="text" id="alias" value="" onblur="saveAlias();">';
								<?php 
    }
    ?>
					    	}
							
					    	resizeWindow();
					    }
					});
				}
				else
				{
					if(!alias.value)
					{
						alias_value.value = '';
						<?php 
    if ($objekt->objekt_id) {
        ?>
						alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + '<?php 
        echo $objekt->objekt_id;
        ?>
' + '</a>';
						<?php 
    } else {
        ?>
				    	alias_placeholder.innerHTML = '<input type="text" id="alias" value="" onblur="saveAlias();">';
						<?php 
    }
    ?>
					}
					else
					{
						alias_placeholder.innerHTML = '<a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (alias_value.value.length > 30 ? alias_value.value.substring(0, 30) + '...' : alias_value.value) + '</a>';
					}
			    	
					resizeWindow();
				}
			}
			
			function createAlias()
			{
				var alias_value = document.getElementById('alias_value');
				var title = document.getElementById('pealkiri')
				
				if(0 || (!alias_value && title.value))
				{
					$.ajax({
					    url: 'ajax_response.php?rand=' + Math.random(9999),
					    data: {op: 'generate_alias', string: title.value, language_id: '<?php 
    echo $keel;
    ?>
'},
					    type: 'POST',
					    dataType: 'json',
					    timeout: 1000,
					    error: function()
					    {
					    },
					    success: function(response)
					    {
					    	var alias_cell = document.getElementById('alias_cell');
					    	alias_cell.className = 'alias';
					    	if(response.alias)
					    	{
						    	alias_cell.innerHTML = '<input type="hidden" name="friendly_url" id="alias_value" value="' + response.alias + '"><?php 
    echo $parent_href;
    ?>
<span id="alias_placeholder"><a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (response.alias.length > 30 ? response.alias.substring(0, 30) + '...' : response.alias) + '</a></span>';
						    	if(swfu && !swfu.uploadFolderPathSent && !uploadFolderPathSet) $('input#path').attr('value', 'public/galleries/' + response.alias);
					    	}
					    	else
					    	{
						    	alias_cell.innerHTML = '<input type="hidden" name="friendly_url" id="alias_value" value=""><?php 
    echo $parent_href;
    ?>
<span id="alias_placeholder"><input type="text" id="alias" value="" onblur="saveAlias();"></span>';
					    	}
					    	
					    	$('a#images_folder_path_link').text($('input#path').attr('value'));
					    	
					    	$('#alias_row').show();
					    	//var alias_row = document.getElementById('alias_row');
					    	//alias_row.style.display = (isIE ? 'block' : 'table-row');

	    					resizeWindow();
					    }
					});			
				}
			}
			
			function saveForm(op2)
			{
				var form = document.getElementById('editForm');
				
				var title = document.getElementById('pealkiri');
				
				if(title.value.length == 0)
				{
					alert('<?php 
    echo $site->sys_sona(array('sona' => 'please_fill_in_the_title!', 'tyyp' => 'admin'));
    ?>
');
					return;
				}
				
				var alias_value = document.getElementById('alias_value');
				var alias = document.getElementById('alias');
				
				if((title.value && !alias_value) || (alias && alias_value && alias.value != alias_value.value))
				{
					$.ajax({
					    url: 'ajax_response.php?rand=' + Math.random(9999),
					    data: {op: 'generate_alias', string: title.value, language_id: '<?php 
    echo $keel;
    ?>
'},
					    type: 'POST',
					    dataType: 'json',
					    timeout: 1000,
					    error: function()
					    {
					    	var form = document.getElementById('editForm');
			 				
					    	form.op2.value = op2;
			 				form.submit();
					    },
					    success: function(response)
					    {
					    	var alias_value = document.getElementById('alias_value');
					    	
					    	if(!alias_value && response.alias)
					    	{
						    	var alias_cell = document.getElementById('alias_cell');
						    	alias_cell.innerHTML = '<input type="hidden" name="friendly_url" id="alias_value" value="' + response.alias + '"><?php 
    echo $parent_href;
    ?>
<span id="alias_placeholder"><a href="javascript:void(0);" onclick="editAlias();" id="alias_link">' + (response.alias.length > 30 ? response.alias.substring(0, 30) + '...' : response.alias) + '</a></span>';
					    	}
							
					    	var form = document.getElementById('editForm');
			 				
					    	form.op2.value = op2;
			 				form.submit();
					    }
					});
				}
				else
				{
	 				form.op2.value = op2;
	 				form.submit();
				}
			}
			
			<?php 
    if ($site->CONF['fm_allow_multiple_upload'] && $parent->all['ttyyp_id'] != 39) {
        ?>
			// SWFupload handler functions
			function fileQueued(file) {
				try {
				} catch (ex) {
					this.debug(ex);
				}
			}
			

			function fileQueueError(file, errorCode, message) {
				try {
					
					if (errorCode === SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED) {
						alert('<?php 
        echo $site->sys_sona(array('sona' => 'upload_queue_limit', 'tyyp' => 'Files'));
        ?>
' + ': ' + this.settings.file_queue_limit);
						return;
					}
				
					if (errorCode === SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT) {
						alert(file.name + ' ' + '<?php 
        echo $site->sys_sona(array('sona' => 'upload_limit_size', 'tyyp' => 'Files'));
        ?>
' + ' ' + this.settings.file_size_limit);
						return;
					}
			
					switch (errorCode) {
					default:
						if (file !== null) {
							alert("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
						}
						this.debug("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
						break;
					}
				} catch (ex) {
			        this.debug(ex);
			    }
			}
			
			function fileDialogComplete(numFilesSelected, numFilesQueued) {
				try {
					
					if(numFilesQueued > 0)
					{
						$('td#images_folder_cf_container_cell').addClass('hidden');
						$('td#images_choose_folder_button_cell').addClass('hidden');
						$('table#form_submit_buttons_table').addClass('hidden');
						
						this.setButtonDisabled(true);
						this.setButtonDimensions(1, 1);
						
						$('td#upload_progress_cell').removeClass('hidden');
						$('td#upload_progress_text_cell').removeClass('hidden');
						$('table#upload_cancel_table').removeClass('hidden');
						
						$('div#upload_progress_grow').width(0);
						
						this.numFilesQueued = numFilesQueued;
						
						if(!$('input#path').attr('value')) $('input#path').attr('value', folder_path);
						
						this.addPostParam('folder_path', $('input#path').attr('value'));
						this.uploadFolderPathSent = true;
						this.startUpload();
					}
				} catch (ex)  {
			        this.debug(ex);
				}
			}
			
			function uploadStart(file) {
				try {
					
					$('td#upload_progress_text_cell').html(file.name + ' <span id="percent_placeholder">0</span>%');
					this.progressBarWidth = $('div#upload_progress_grow').width();
					
				} catch (ex)  {
			        this.debug(ex);
				}
				
				return true;
			}
			
			function uploadProgress(file, bytesLoaded, bytesTotal) {
				try {
					var percent = Math.round((bytesLoaded / bytesTotal) * 100);
					
					$('div#upload_progress_grow').width(this.progressBarWidth + Math.round(($('div#upload_progress_bar').width() / this.numFilesQueued * percent) / 100));
					
					$('span#percent_placeholder').html(percent);
					
				} catch (ex) {
					this.debug(ex);
				}
			}
			
			function uploadSuccess(file, serverData) {
				try {
				} catch (ex) {
					this.debug(ex);
				}
			}
			
			function uploadError(file, errorCode, message) {
				try {
					
					switch (errorCode) {
						case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED:
						case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED:
							// upload canceled
						break;
						
						case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
							alert('Error occured while trying to connect.');
						break;
						
						default:
							alert("Error Code: " + errorCode + ", File name: " + file.name + ", File size: " + file.size + ", Message: " + message);
						break;
					}
				} catch (ex) {
			        this.debug(ex);
			    }
			}
			
			function uploadComplete(file) {
				
				$('td#upload_progress_text_cell').empty();
				
				if (this.getStats().files_queued === 0) {
					
					// all files are finished
					$('td#upload_progress_cell').addClass('hidden');
					$('td#upload_progress_text_cell').addClass('hidden');
					$('table#upload_cancel_table').addClass('hidden');
						
					this.setButtonDisabled(false);
					this.setButtonDimensions(95, 21);
					
					$('a#images_folder_path_link').text($('input#path').attr('value'));
					
					$('table#form_submit_buttons_table').removeClass('hidden');
					$('td#images_folder_cf_container_cell').removeClass('hidden');
				}
			}
			
			function swfuLoaded()
			{
				$('input#add_images_button').addClass('hidden');
			}
			<?php 
    }
    ?>
			
		</script>
	</head>
	
	<body>
		
		<?php 
    if ($site->fdat['op'] == 'edit') {
        ?>
			<iframe src="checkin.php?objekt_id=<?php 
        echo $objekt->objekt_id;
        ?>
" style="width: 0; height: 0; display: none; visibility: hidden;"></iframe>
		<?php 
    }
    ?>
		
		<form action="edit.php" name="editForm" id="editForm" method="POST"  enctype="multipart/form-data">
		
		<?php 
    create_form_token('edit-album');
    ?>
		
		<input type="hidden" name="tab" value="<?php 
    echo $site->fdat['tab'];
    ?>
" />
		<input type="hidden" id="op" name="op" value="<?php 
    echo htmlspecialchars($site->fdat['op']);
    ?>
" />
		<input type="hidden" id="op2" name="op2" value="" />
		<input type="hidden" id="refresh" name="refresh" value="0" />
		
		<input type="hidden" name="tyyp_id" value="<?php 
    echo $tyyp['tyyp_id'];
    ?>
" />
		<input type="hidden" name="tyyp" value="<?php 
    echo $tyyp['klass'];
    ?>
" />
		
		<input type="hidden" name="pearubriik" value="<?php 
    echo $pearubriik;
    ?>
" />
		<input type="hidden" name="id" value="<?php 
    echo $site->fdat['id'];
    ?>
" />
		<input type="hidden" name="parent_id" value="<?php 
    echo $site->fdat['parent_id'];
    ?>
" />
		<input type="hidden" name="previous_id" value="<?php 
    echo $site->fdat['previous_id'];
    ?>
" />
		<input type="hidden" name="keel" value="<?php 
    echo $keel;
    ?>
" />
		<input type="hidden" name="on_pealkiri" value="1" />
		
        <input type="hidden" name="sorting" value="<?php 
    echo $site->fdat['sorting'];
    ?>
">

		<input type="hidden" name="opener_location" value="" />
		<input type="hidden" name="publish" value="<?php 
    echo $site->fdat['publish'] || $objekt->all['on_avaldatud'] ? 1 : 0;
    ?>
">

		<input name="permanent_parent_id" type="hidden" value="<?php 
    echo $objekt->parent_id;
    ?>
" />
		<input name="sys_alias" type="hidden" value="<?php 
    echo $site->fdat['sys_alias'] ? $site->fdat['sys_alias'] : $objekt->all['sys_alias'];
    ?>
" />
		
		<input name="advanced_panel_state" id="advanced_panel_state" type="hidden" value="<?php 
    echo $site->fdat['advanced_panel_state'] ? htmlspecialchars($site->fdat['advanced_panel_state']) : 0;
    ?>
" />
		
		<div id="size_wrapper" class="section_editor">
		
		<div id="main_container">
			<?php 
    ########### Tabs  ########
    ?>
			<div id="tab_container">
				<a href="javascript:void(0);" class="selected"><?php 
    echo $site->sys_sona(array('sona' => 'tyyp_album', 'tyyp' => 'System'));
    ?>
</a>
			</div>
			
			<div id="content_container">
		
				<table cellpadding="0" cellspacing="0" class="form_row">
					<tr>
						<td class="label"><label><?php 
    echo $site->sys_sona(array('sona' => 'Pealkiri', 'tyyp' => 'editor'));
    ?>
:</label></td>
						<td class="input"><input type="text" class="text" name="pealkiri" id="pealkiri" value="<?php 
    echo htmlspecialchars($objekt->all['pealkiri']);
    ?>
" onblur="createAlias();" /></td>
					</tr>
					<?php 
    if (($objekt->objekt_id || isset($objekt->all['friendly_url'])) && !($objekt->all['sys_alias'] == 'home' || $objekt->all['sys_alias'] == 'trash' || $objekt->all['sys_alias'] == 'system' || $objekt->all['sys_alias'] == 'gallup_arhiiv')) {
        ?>
					<tr>
						<td class="label">&nbsp;</td>
						<td class="input"><input type="hidden" id="alias_value" name="friendly_url" name="friendly_url" value="<?php 
        echo htmlspecialchars($objekt->all['friendly_url']);
        ?>
" /><?php 
        echo $parent_href;
        ?>
<span id="alias_placeholder"><a href="javascript:void(0);" onclick="editAlias();" id="alias_link"><?php 
        echo $objekt->all['friendly_url'] ? strlen(htmlspecialchars($objekt->all['friendly_url'])) > 30 ? substr(htmlspecialchars($objekt->all['friendly_url']), 0, 30) . '...' : htmlspecialchars($objekt->all['friendly_url']) : $objekt->objekt_id;
        ?>
</a></span></td>
					</tr>
					<?php 
    } else {
        ?>
					<tr id="alias_row">
						<td class="label">&nbsp;</td>
						<td class="input" id="alias_cell"></td>
					</tr>
					<?php 
    }
    ?>
					
					<?php 
    ########### images folder  ########
    ?>
					<?php 
    if ($parent->all['ttyyp_id'] != 39) {
        ?>
					<tr id="images_folder">
						<td class="label"><?php 
        echo $site->sys_sona(array('sona' => 'Image files directory', 'tyyp' => 'editor'));
        ?>
:</td>
						<td class="input">
							<table cellpadding="0" cellspacing="0" class="container" id="images_folder_cf_container_table">
								<tr>
									<?php 
        ########### images folder  ########
        ?>
									<td id="images_folder_cf_container_cell"<?php 
        echo $args['path'] ? '' : ' class="hidden"';
        ?>
>
										<table cellpadding="0" cellspacing="0" class="cf_container">
											<tr>
												<th><input type="hidden" name="path" id="path" value="<?php 
        echo $args['path'] ? $args['path'] : '';
        ?>
"><span id="images_folder_path"><a href="javascript:chooseFolder();" id="images_folder_path_link" title="<?php 
        echo $site->sys_sona(array('sona' => 'choose_a_folder', 'tyyp' => 'editor'));
        ?>
"><?php 
        echo $args['path'];
        ?>
</a></span></th>
												<td><a href="javascript:chooseFolder();" title="<?php 
        echo $site->sys_sona(array('sona' => 'choose_a_folder', 'tyyp' => 'editor'));
        ?>
">..</a></td>
												<td><a href="javascript:clearFolder();">X</a></td>
											</tr>
										</table>
									</td>
									
									<?php 
        ########### add images  ########
        ?>
									<?php 
        if ($site->CONF['fm_allow_multiple_upload']) {
            ?>
									<td id="images_add_button_cell">
										<span id="span_upload_button_place_holder"></span>
									</td>
									
									<?php 
            ########### upload progress  ########
            ?>
									<td id="upload_progress_cell" class="hidden"><div id="upload_progress_bar"><div id="upload_progress_grow"></div></div></td><!-- / scms_upload_progress -->
									<td id="upload_progress_text_cell" class="hidden"></td><!-- / scms_upload_text -->
									<?php 
        }
        ?>
									
									<?php 
        ########### choose_a_folder  ########
        ?>
									<td id="images_choose_folder_button_cell"<?php 
        echo $args['path'] ? ' class="hidden"' : '';
        ?>
>
										<?php 
        if ($site->CONF['fm_allow_multiple_upload']) {
            ?>
&nbsp;<?php 
            echo $site->sys_sona(array('sona' => 'or', 'tyyp' => 'editor'));
        }
        ?>
										<input type="button" value="<?php 
        echo $site->sys_sona(array('sona' => 'choose_a_folder', 'tyyp' => 'editor'));
        ?>
" class="inline_button" onclick="chooseFolder();" />
									</td>
								</tr>
							</table>
						</td>
					</tr>
					<?php 
    }
    ?>
					
					<?php 
    ########### description  ########
    ?>
					<tr>
						<td class="label"><?php 
    echo $site->sys_sona(array('sona' => 'Kirjeldus', 'tyyp' => 'editor'));
    ?>
:</td>
						<td class="input"><textarea name="desc"><?php 
    echo $args['desc'] ? $args['desc'] : "";
    ?>
</textarea></td>
					</tr>
					
					<?php 
    ########### publishing  ########
    ?>
					<tr>
						<td class="label"><?php 
    echo $site->sys_sona(array('sona' => 'visible_to_visitors', 'tyyp' => 'editor'));
    ?>
:</td>
						<td><input type="radio" name="publish" id="object_published" value="1"<?php 
    echo $site->fdat['publish'] || $objekt->all['on_avaldatud'] ? ' checked' : '';
    echo $objekt->permission && !$objekt->permission['P'] || !$objekt->permission && !$parent->permission['P'] ? ' disabled="disabled"' : NULL;
    ?>
> <label for="object_published"><?php 
    echo $site->sys_sona(array('sona' => 'published', 'tyyp' => 'editor'));
    ?>
</label>	<input type="radio" name="publish" id="object_unpublished" value="0"<?php 
    echo $site->fdat['publish'] == 0 && $objekt->all['on_avaldatud'] == 0 ? ' checked' : '';
    echo $objekt->permission && !$objekt->permission['P'] || !$objekt->permission && !$parent->permission['P'] ? ' disabled="disabled"' : NULL;
    ?>
> <label for="object_unpublished"><?php 
    echo $site->sys_sona(array('sona' => 'unpublished', 'tyyp' => 'editor'));
    ?>
</label></td>
					</tr>
				</table>
				
				<br />
				
				<?php 
    ########### advanced  ########
    ?>
				<div class="panel_toggler" onclick="togglePanel('advanced');">
					<a href="javascript:void(0);"><?php 
    echo $site->sys_sona(array('sona' => 'Advanced', 'tyyp' => 'editor'));
    ?>
 <span id="advanced_panel_link_state">&raquo;</span></a>
				</div>
				
				<div id="advanced_panel" class="panel">
					
					<?php 
    ########### image sizes  ########
    ?>
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label">Image sizes:</td>
							<td><?php 
    echo $site->sys_sona(array('sona' => 'Image size', 'tyyp' => 'editor'));
    ?>
:</td>
							<td>
								<input name="pic_size" class="text_number" value="<?php 
    echo $args['pic_size'] ? $args['pic_size'] : $site->CONF['image_width'];
    ?>
" />
								<input name="old_pic_size" type="hidden" value="<?php 
    echo $args['pic_size'] ? $args['pic_size'] : $site->CONF['image_width'];
    ?>
" />
							</td>
							<td>px&nbsp;</td>
							<td><?php 
    echo $site->sys_sona(array('sona' => 'Thumbnail size', 'tyyp' => 'editor'));
    ?>
:</td>
							<td>
								<input name="tn_size" class="text_number" value="<?php 
    echo $args['tn_size'] ? $args['tn_size'] : $site->CONF['thumb_width'];
    ?>
" />
								<input name="old_tn_size" type="hidden" value="<?php 
    echo $args['tn_size'] ? $args['tn_size'] : $site->CONF['thumb_width'];
    ?>
" />
							</td>
							<td>px</td>
						</tr>
					</table>
					
					<?php 
    ########### parent section  ########
    ?>
					<?php 
    if ($section_name) {
        ?>
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label"><label><?php 
        echo $site->sys_sona(array('sona' => 'Rubriigid', 'tyyp' => 'editor'));
        ?>
:</label></td>
							<td class="input">
								<table cellpadding="0" cellspacing="0" class="cf_container">
									<tr>
										<th><input type="hidden" name="rubriik[]" id="rubriik" value="<?php 
        echo $parent->objekt_id;
        ?>
"><span id="section_name"><a href="javascript:chooseSection();"><?php 
        echo $section_name;
        ?>
</a></span></th>
										<td><a href="javascript:chooseSection();">..</a></td>
									</tr>
								</table>
							</td>
						</tr>
					</table>
					<?php 
    }
    ?>
					
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label">&nbsp;</td>
							<td><label><?php 
    echo $site->sys_sona(array('sona' => 'Avaldatud', 'tyyp' => 'editor'));
    ?>
:</label></td>
							<td><input type="text" id="publish_start" name="avaldamise_algus" maxlength="16" class="text_date" value="<?php 
    echo $publish_start;
    ?>
" /></td>
							<td><a href="javascript:init_datepicker('publish_start', 'publish_start', 'publish_end');"><img src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
    ?>
/gfx/calendar/cal.gif" width="16" height="15" title="Choose from calendar" alt="Choose from calendar" /></a></td>
							<td><label><?php 
    echo $site->sys_sona(array('sona' => 'Kuni', 'tyyp' => 'editor'));
    ?>
:</label></td>
							<td><input type="text" id="publish_end" name="avaldamise_lopp" maxlength="16" class="text_date" value="<?php 
    echo $publish_end;
    ?>
" /></td>
							<td><a href="javascript:init_datepicker('publish_end', 'publish_start', 'publish_end');"><img src="<?php 
    echo $site->CONF['wwwroot'] . $site->CONF['styles_path'];
    ?>
/gfx/calendar/cal.gif" width="16" height="15" title="Choose from calendar" alt="Choose from calendar" /></a></td>
						</tr>
					</table>
					
					<?php 
    ########### position  ########
    ?>
					<?php 
    if ($site->CONF['allow_change_position']) {
        ?>
					<table cellpadding="0" cellspacing="0" class="form_row">
						<tr>
							<td class="label"><label><?php 
        echo $site->sys_sona(array('sona' => 'Position', 'tyyp' => 'editor'));
        ?>
:</label></td>
							<td><input type="text" maxlength="5" class="text_position" name="kesk" value="<?php 
        echo $site->fdat['op'] == 'edit' ? $objekt->all['kesk'] : $site->fdat['kesk'];
        ?>
" /></td>
						</tr>
					</table>
					<?php 
    } else {
        ?>
						<input type="hidden" name="kesk" value="<?php 
        echo $site->fdat['op'] == 'edit' ? $objekt->all['kesk'] : $site->fdat['kesk'];
        ?>
" />
					<?php 
    }
    ?>
					
				</div>
			</div>
			
		</div>
		
		<div id="button_container">
			
			<table cellspacing="0" cellpadding="0" id="form_submit_buttons_table">
				<tr>
					<td id="apply_button_cell">
						<input type="button" class="button" value="<?php 
    echo $site->sys_sona(array('sona' => 'Apply', 'tyyp' => 'editor'));
    ?>
" onclick="saveForm('save');" />
					</td>
					<td id="save_close_button_cell">
						<input type="button" class="button" value="&nbsp;&nbsp;&nbsp;&nbsp;<?php 
    echo $site->sys_sona(array('sona' => 'save_and_close', 'tyyp' => 'editor'));
    ?>
&nbsp;&nbsp;&nbsp;&nbsp;" onclick="saveForm('saveclose');" />
						<input type="button" class="button" value="<?php 
    echo $site->sys_sona(array('sona' => 'Close', 'tyyp' => 'editor'));
    ?>
" onclick="window.close();" />		
					</td>
				</tr>
			</table>
			
			<table cellspacing="0" cellpadding="0" class="hidden" id="upload_cancel_table">
				<tr>
					<td id="cancel_button_cell">
						<input type="button" class="button" value="<?php 
    echo $site->sys_sona(array('sona' => 'katkesta', 'tyyp' => 'editor'));
    ?>
" onclick="swfu.cancelQueue();" />		
					</td>
				</tr>
			</table>
			
		</div> <!-- / button_container -->
		
		</div> <!-- / size_wrapper -->
		
		</form>
	</body>
</html>

<?php 
}
        $sql = "SELECT * FROM obj_rubriik,objekt WHERE obj_rubriik.objekt_id=objekt.objekt_id AND objekt.on_avaldatud='1' AND obj_rubriik.on_meilinglist = '1' ORDER BY objekt.pealkiri";
        $sth = new SQL($sql);
        $site->debug->msg($sth->debug->get_msgs());
        ##################
        # put all section IDs into array
        $koik_meilinglistid = array();
        while ($obj = $sth->fetch()) {
            $koik_meilinglistid[] = $obj['objekt_id'];
        }
        ##################
        # get all sections (privilege check is already done in rubloetelu class)
        include_once $class_path . "rubloetelu.class.php";
        ################
        # loop over languages
        foreach ($keeled as $keel) {
            $rubs = new RubLoetelu(array(keel => $keel));
            $topparents = $rubs->get_loetelu();
            if (is_array($topparents)) {
                asort($topparents);
                ##################
                # loop over all sections
                foreach ($topparents as $obj_id => $obj_name) {
                    if ($obj_id != $site->alias("rub_home_id") && in_array($obj_id, $koik_meilinglistid)) {
                        $obj_name = str_replace("->", " &gt; ", $obj_name);
                        ?>
		<tr>
			<td><input type=checkbox name="rubriik[]" value="<?php 
                        echo $obj_id;
                        ?>
" <?php 
                        echo $meilinglistid[$obj_id];