255 lines
11 KiB
PHP
255 lines
11 KiB
PHP
<?php
|
|
/**
|
|
* ProcessMaker Open Source Edition
|
|
* Copyright (C) 2004 - 2008 Colosa Inc.23
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as
|
|
* published by the Free Software Foundation, either version 3 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
|
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
|
*
|
|
*/
|
|
|
|
/*
|
|
* @Author Erik Amaru Ortiz <erik@colosa.com>
|
|
* @Date Aug 26th, 2009
|
|
*/
|
|
if (!((isset($_SESSION['USER_LOGGED']))&&(!(isset($_GET['sid']))))||!isset($_SESSION['Current_Dynafom'])) {
|
|
$oHeadPublisher = headPublisher::getSingleton();
|
|
$oHeadPublisher->addScriptCode("
|
|
window.parent.location.href = '../processes/mainInit';
|
|
");
|
|
G::RenderPage('publish');
|
|
exit();
|
|
}
|
|
|
|
?>
|
|
<html>
|
|
<head>
|
|
<link type="text/css" href="/js/jquery/css/redmond/jquery-ui-1.7.2.custom.css" rel="stylesheet" />
|
|
<link type="text/css" href="/skin/<?php echo SYS_SKIN;?>/style.css" rel="stylesheet" />
|
|
<style> body{ background-color: #fff; }</style>
|
|
<script type="text/javascript" src="/js/jquery/jquery-1.3.2.min.js"></script>
|
|
<script type="text/javascript" src="/js/jquery/jquery-ui-1.7.2.custom.min.js"></script>
|
|
<script type="text/javascript" src="/jscore/dynaforms/dynaforms_fieldsHandler.js"></script>
|
|
</head>
|
|
<?php
|
|
$content = file_get_contents(PATH_DYNAFORM.$_SESSION['Current_Dynafom']['Parameters']['FILE'].".xml");
|
|
$oXxml = G::xmlParser($content);
|
|
|
|
if (!isset($oXxml->result['dynaForm']['__CONTENT__'])) {
|
|
?>
|
|
<br/>
|
|
<div class="ui-widget-header ui-corner-all" style="height:17px" align="center">
|
|
<?php echo G::loadTranslation('ID_NO_FIELD_FOUND')?>
|
|
</div>
|
|
<script>
|
|
parent.document.getElementById('light').style.display='none';
|
|
parent.document.getElementById('fade').style.display='none';
|
|
</script>
|
|
<?php
|
|
die();
|
|
}
|
|
|
|
$elements = $oXxml->result['dynaForm']['__CONTENT__'];
|
|
$dynaformAttributes = $oXxml->result['dynaForm']['__ATTRIBUTES__'];
|
|
|
|
$dynaformType = $dynaformAttributes['type'];
|
|
|
|
foreach ($elements as $node_name=>$node) {
|
|
if ($node_name == "___pm_boot_strap___") {
|
|
$boot_strap = $elements[$node_name];
|
|
$hidden_fields = G::decrypt($boot_strap['__ATTRIBUTES__']['meta'], 'dynafieldsHandler');
|
|
//echo $hidden_fields;
|
|
$hidden_fields_list = explode(',', $hidden_fields);
|
|
unset($elements[$node_name]); ?>
|
|
<script>
|
|
parent.jsMeta = "<?php echo $boot_strap['__ATTRIBUTES__']['meta'] ?>";
|
|
</script>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
<body>
|
|
<table border="0" width="100%" cellpadding="0" cellspacing="0" class="fieldshandler_item">
|
|
<tr>
|
|
<td width="15%" valign="top" align="left">
|
|
<a href='#' onclick="return false;" onmouseout="parent.hideTooltip()" onmouseover="parent.showTooltip(event,document.getElementById('help').innerHTML);return false;">
|
|
<image src="/images/help4.gif" width="16" height="16" border="0"/>
|
|
</a>
|
|
</td>
|
|
<td valign="top" width="990px"><center>
|
|
|
|
<div style="width:100%">
|
|
<div class="ui-widget-header ui-corner-all" style="height:17px">
|
|
<table border="0" width="100%" cellpadding="0" cellspacing="0">
|
|
<td width="7%"><div style="font-size:9px; color:#fff;" align="left"> <b><?php echo G::loadTranslation('ID_VISIBLE')?></b></div></td>
|
|
<td width="15%"><div style="font-size:12px;color:#fff; font-weight:bold" align="left"> <?php echo G::loadTranslation('ID_TYPE')?></div></td>
|
|
<td width="28%"><div style="font-size:12px;color:#fff; font-weight:bold" align="left"> <?php echo G::loadTranslation('ID_NAME')?></div></td>
|
|
<td width="6"><div style="font-size:12px;color:#fff; font-weight:bold" align="left"> <?php echo G::loadTranslation('ID_LABEL')?></div></td>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="dynafields">
|
|
<ul id="sortable" style="margin:0; padding:0;">
|
|
<?php foreach ($elements as $node_name=>$node) {
|
|
if (isset($hidden_fields_list)) {
|
|
$checked = !(in_array($node_name, $hidden_fields_list))? 'checked="checked"': '';
|
|
} else {
|
|
$checked = 'checked="checked"';
|
|
} ?>
|
|
<li style="list-style:none;" id="<?php echo $node_name?>" class="ui-state-default" onmouseover="setClass(this, 'ui-state-hover')" onmouseout="setClass(this, 'ui-state-default')">
|
|
<table class="dynalist" border="0" width="100%" cellpadding="0" cellspacing="0" id="fieldshandler_items_table">
|
|
<tr>
|
|
<td width="7%">
|
|
<?php if ($node['__ATTRIBUTES__']['type'] != 'javascript' && $dynaformType != 'grid') {
|
|
?>
|
|
<input id="chk@<?php echo $node_name?>" type="checkbox" onclick="parent.jsMeta = fieldsHandlerSaveHidden();" <?php echo $checked?> />
|
|
<?php
|
|
} else {
|
|
?>
|
|
|
|
<?php
|
|
} ?>
|
|
</td>
|
|
<td width="15%" >
|
|
<?php $type = $node['__ATTRIBUTES__']['type'];
|
|
switch ($type) {
|
|
case 'yesno': $type = 'yes_no'; break;
|
|
case 'listbox': $type = 'list_box'; break;
|
|
case 'checkgroup': $type = 'check_group'; break;
|
|
case 'radiogroup': $type = 'radio_group'; break;
|
|
case 'file': $type = 'upload_files'; break;
|
|
} ?>
|
|
<?php if (is_file(PATH_HTML.'images'.PATH_SEP.'dynamicForm'.PATH_SEP."$type.gif")) {
|
|
?>
|
|
<img src="/images/dynamicForm/<?php echo $type?>.gif"/>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<img src="/images/unknown_icon.gif" border="0" width="20" height="16"/>
|
|
<?php
|
|
} ?>
|
|
<span style="font-size:10px;"> <?php echo "({$node['__ATTRIBUTES__']['type']})"; ?></span>
|
|
</td>
|
|
|
|
<td width="28%" style="font-size:12px;">
|
|
<?php echo "$node_name"; ?>
|
|
</td>
|
|
<td><p style="font-size:12px; color:#1C3166; font-weight:bold">
|
|
<?php if (isset($node["__CONTENT__"][SYS_LANG]["__VALUE__"]) && $node["__CONTENT__"][SYS_LANG]["__VALUE__"] != "") {
|
|
if (strlen($node['__CONTENT__'][SYS_LANG]['__VALUE__']) > 30) {
|
|
$label = substr(trim(strip_tags(G::stripCDATA($node['__CONTENT__'][SYS_LANG]['__VALUE__']))), 0, 30) . '...';
|
|
} else {
|
|
$label = $node['__CONTENT__'][SYS_LANG]['__VALUE__'];
|
|
}
|
|
print($label);
|
|
} else {
|
|
print(" ");
|
|
} ?></p>
|
|
</td>
|
|
<td width="40px" class="options" align="right">
|
|
<?php if (in_array($node['__ATTRIBUTES__']['type'], $_POST['fieldsList'])) {
|
|
?>
|
|
<!-- <div class="tool"><img src="/images/options.png" width="12" height="12" border="0"/> </div>-->
|
|
<div class="jq-checkpointSubhead" style="display:block">
|
|
<a title="<?php echo G::loadTranslation('ID_EDIT_FIELD')?>" href="#" onclick="__ActionEdit('<?php echo $node_name?>'); return false;"><img src="/images/e_Edit.png" width="15" height="15" border="0" onmouseout="backImage(this,'')" onmouseover="backImage(this,'url(/images/dynamicForm/hover.gif) no-repeat')"/></a>
|
|
<a title="<?php echo G::loadTranslation('ID_REMOVE_FIELD')?>" href="#" onclick="__ActionDelete('<?php echo $node_name?>', '<?php echo $node['__ATTRIBUTES__']['type']; ?>');return false;"><img src="/images/e_Delete.png" width="15" height="15" border="0" onmouseout="backImage(this,'')" onmouseover="backImage(this,'url(/images/dynamicForm/hover.gif) no-repeat')"/></a>
|
|
</div>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<div class="tool"><img src="/images/options.png" width="12" height="12" border="0"/> </div>
|
|
<div class="jq-checkpointSubhead" style="display:none">
|
|
<a title="<?php echo G::loadTranslation('ID_REMOVE_FIELD')?>" href="#" onclick="__ActionDelete('<?php echo $node_name?>', '<?php echo $node['__ATTRIBUTES__']['type']; ?>');return false;"><img src="/images/e_Delete.png" width="15" height="15" border="0" onmouseout="backImage(this,'')" onmouseover="backImage(this,'url(/images/dynamicForm/hover.gif) no-repeat')"/></a>
|
|
</div>
|
|
<?php
|
|
} ?>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</li>
|
|
<?php
|
|
}?>
|
|
</ul>
|
|
</div>
|
|
</center>
|
|
<br/><br/>
|
|
</td>
|
|
<td valign="top" align="right" width="300" style="text-align:right">
|
|
<div id="help" style="display:none">
|
|
<h3 class="ui-widget-header ui-corner-all">Processmaker - DynaFields Handler</h3>
|
|
<b><?php echo G::LoadTranslation('ID_FIELD_HANDLER_HELP1');?></b><br/><br/>
|
|
<li> <?php echo G::LoadTranslation('ID_FIELD_HANDLER_HELP2');?><br/>
|
|
<li> <?php echo G::LoadTranslation('ID_FIELD_HANDLER_HELP3');?>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
<script language="javascript">
|
|
var lastUidFHSelected;
|
|
var lastFTypeFHSelected;
|
|
function __ActionEdit(uid){
|
|
lastUidFHSelected = uid;
|
|
if (!parent.sessionPersits()) {
|
|
parent.showPrompt('__ActionEdit');
|
|
return;
|
|
}
|
|
var client_window = parent.getClientWindowSize();
|
|
h = client_window.height;
|
|
h1 = (h / 100) * 92;
|
|
window.parent.popupWindow('', "fields_Edit?A=<?php echo $_SESSION['Current_Dynafom']['Parameters']['URL']?>&XMLNODE_NAME="+ uid , 600, h1);
|
|
|
|
}
|
|
|
|
function __ActionDelete(uid, ftype){
|
|
lastUidFHSelected = uid;
|
|
lastFTypeFHSelected = ftype;
|
|
if (!parent.sessionPersits()) {
|
|
parent.showPrompt('__ActionDelete');
|
|
return;
|
|
}
|
|
new window.parent.leimnud.module.app.confirm().make({
|
|
label: '<?php echo G::LoadTranslation('ID_FIELD_HANDLER_ACTION_DELETE');?>' + ' ' + ftype + "?",
|
|
action:function(){
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "fields_Delete",
|
|
data: 'A=<?php echo $_SESSION['Current_Dynafom']['Parameters']['URL']?>&XMLNODE_NAME='+uid,
|
|
success: function(httpResponse){
|
|
window.parent.dynaformEditor.refreshFieldsList();
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
|
|
window.onload = function() {
|
|
parent_divs = parent.document.getElementsByTagName('div');
|
|
for(i=0; i<parent_divs.length; i++){
|
|
if(parent_divs[i].className == 'panel_containerWindow___processmaker'){
|
|
content_div = parent_divs[i];
|
|
}
|
|
}
|
|
h = content_div.style.height.split('px');
|
|
window.parent.document.getElementById('dynaframe').height = (h[0]-120);
|
|
|
|
parent.document.getElementById('light').style.display='none';
|
|
parent.document.getElementById('fade').style.display='none';
|
|
}
|
|
</script>
|
|
</html>
|