/** * 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"> </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"> </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">»</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"> </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"> </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"> </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=" <?php echo $site->sys_sona(array('sona' => 'save_and_close', 'tyyp' => 'editor')); ?> " 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 = " > "; } ################## # 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"> </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"> </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']) { ?> <?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">»</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 </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"> </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=" <?php echo $site->sys_sona(array('sona' => 'save_and_close', 'tyyp' => 'editor')); ?> " 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("->", " > ", $obj_name); ?> <tr> <td><input type=checkbox name="rubriik[]" value="<?php echo $obj_id; ?> " <?php echo $meilinglistid[$obj_id];